From 48eadbbc95999bc687af534231a33ec50baee4c2 Mon Sep 17 00:00:00 2001 From: texastony <5892063+texastony@users.noreply.github.com> Date: Fri, 27 Mar 2026 10:34:17 -0700 Subject: [PATCH 1/3] ci: daily ci with todo for webhook --- .github/workflows/daily_ci.yml | 51 ++++++++++++++++++++++++ .github/workflows/slack-notification.yml | 27 +++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 .github/workflows/daily_ci.yml create mode 100644 .github/workflows/slack-notification.yml diff --git a/.github/workflows/daily_ci.yml b/.github/workflows/daily_ci.yml new file mode 100644 index 00000000..91534569 --- /dev/null +++ b/.github/workflows/daily_ci.yml @@ -0,0 +1,51 @@ +name: Daily CI + +on: + schedule: + # 5 AM PST = 1 PM UTC, Monday–Friday + - cron: "0 13 * * 1-5" + workflow_dispatch: + inputs: + python-version: + description: 'Python version to use' + default: '3.11' + required: false + type: string + +jobs: + run-test-server: + permissions: + id-token: write + contents: read + name: Run TestServer Tests + uses: ./.github/workflows/test-server.yml + with: + python-version: ${{ inputs.python-version || '3.11' }} + secrets: inherit + + python-integ: + permissions: + id-token: write + contents: read + name: Python Integration Tests + uses: ./.github/workflows/python-integ.yml + with: + python-version: ${{ inputs.python-version || '3.11' }} + secrets: inherit + +# TODO(#161): Slack CI Webhook +# notify: +# needs: +# [ +# run-test-server, +# python-integ +# ] +# permissions: +# id-token: write +# contents: read +# if: ${{ failure() }} +# uses: ./.github/workflows/slack-notification.yml +# with: +# message: "Daily CI failed on `${{ github.repository }}`. View run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" +# secrets: +# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_CI }} diff --git a/.github/workflows/slack-notification.yml b/.github/workflows/slack-notification.yml new file mode 100644 index 00000000..aa2a6c67 --- /dev/null +++ b/.github/workflows/slack-notification.yml @@ -0,0 +1,27 @@ +name: Slack Notification +on: + workflow_call: + inputs: + message: + required: true + type: string + description: "Message to send to Slack" + secrets: + SLACK_WEBHOOK_URL: + required: true + description: "Slack webhook URL" + +permissions: + contents: read + +jobs: + notify: + runs-on: ubuntu-latest + steps: + - name: Send message to Slack + uses: slackapi/slack-github-action@v3.0.1 + with: + webhook: ${{ secrets.SLACK_WEBHOOK_URL }} + payload: | + {"message": "${{ inputs.message }}"} + webhook-type: webhook-trigger From 774864838862ee1429234eef1d7a952bd696299b Mon Sep 17 00:00:00 2001 From: texastony <5892063+texastony@users.noreply.github.com> Date: Fri, 27 Mar 2026 11:00:47 -0700 Subject: [PATCH 2/3] ci: enable Slack notification on daily CI failure (#161) Uncomment the notify job in daily_ci.yml to send a Slack message via slack-notification.yml when the test-server or integration test jobs fail. --- .github/workflows/daily_ci.yml | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/.github/workflows/daily_ci.yml b/.github/workflows/daily_ci.yml index 91534569..5645ffb8 100644 --- a/.github/workflows/daily_ci.yml +++ b/.github/workflows/daily_ci.yml @@ -33,19 +33,18 @@ jobs: python-version: ${{ inputs.python-version || '3.11' }} secrets: inherit -# TODO(#161): Slack CI Webhook -# notify: -# needs: -# [ -# run-test-server, -# python-integ -# ] -# permissions: -# id-token: write -# contents: read -# if: ${{ failure() }} -# uses: ./.github/workflows/slack-notification.yml -# with: -# message: "Daily CI failed on `${{ github.repository }}`. View run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" -# secrets: -# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_CI }} + notify: + needs: + [ + run-test-server, + python-integ + ] + permissions: + id-token: write + contents: read + if: ${{ failure() }} + uses: ./.github/workflows/slack-notification.yml + with: + message: "Daily CI failed on `${{ github.repository }}`. View run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + secrets: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_CI }} From cec88912622f653bc4f7518c3c4b745bc0d8dca4 Mon Sep 17 00:00:00 2001 From: texastony <5892063+texastony@users.noreply.github.com> Date: Fri, 27 Mar 2026 11:05:44 -0700 Subject: [PATCH 3/3] ci: use shared slack-notification workflow from MPL repo Point the notify job at the reusable workflow in aws/aws-cryptographic-material-providers-library and remove the local slack-notification.yml. --- .github/workflows/daily_ci.yml | 2 +- .github/workflows/slack-notification.yml | 27 ------------------------ 2 files changed, 1 insertion(+), 28 deletions(-) delete mode 100644 .github/workflows/slack-notification.yml diff --git a/.github/workflows/daily_ci.yml b/.github/workflows/daily_ci.yml index 5645ffb8..51e42fd4 100644 --- a/.github/workflows/daily_ci.yml +++ b/.github/workflows/daily_ci.yml @@ -43,7 +43,7 @@ jobs: id-token: write contents: read if: ${{ failure() }} - uses: ./.github/workflows/slack-notification.yml + uses: aws/aws-cryptographic-material-providers-library/.github/workflows/slack-notification.yml@main with: message: "Daily CI failed on `${{ github.repository }}`. View run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" secrets: diff --git a/.github/workflows/slack-notification.yml b/.github/workflows/slack-notification.yml deleted file mode 100644 index aa2a6c67..00000000 --- a/.github/workflows/slack-notification.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Slack Notification -on: - workflow_call: - inputs: - message: - required: true - type: string - description: "Message to send to Slack" - secrets: - SLACK_WEBHOOK_URL: - required: true - description: "Slack webhook URL" - -permissions: - contents: read - -jobs: - notify: - runs-on: ubuntu-latest - steps: - - name: Send message to Slack - uses: slackapi/slack-github-action@v3.0.1 - with: - webhook: ${{ secrets.SLACK_WEBHOOK_URL }} - payload: | - {"message": "${{ inputs.message }}"} - webhook-type: webhook-trigger