Skip to content

Commit 6f065ac

Browse files
committed
m
1 parent 0aacf84 commit 6f065ac

7 files changed

Lines changed: 132 additions & 20 deletions

File tree

.github/workflows/ci_decrypt-oracle.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
name: Continuous Integration tests for the decrypt oracle
22

33
on:
4-
pull_request:
5-
push:
6-
# Run once a day
7-
schedule:
8-
- cron: '0 0 * * *'
4+
workflow_call:
5+
6+
permissions:
7+
contents: read
98

109
jobs:
1110
tests:

.github/workflows/ci_static-analysis.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
name: Static analysis checks
22

33
on:
4-
pull_request:
5-
push:
6-
# Run once a day
7-
schedule:
8-
- cron: '0 0 * * *'
4+
workflow_call:
5+
6+
permissions:
7+
contents: read
98

109
jobs:
1110
analysis:

.github/workflows/ci_test-vector-handler.yaml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
name: Continuous Integration tests for the test vector handler
22

33
on:
4-
pull_request:
5-
push:
6-
# Run once a day
7-
schedule:
8-
- cron: '0 0 * * *'
4+
workflow_call:
5+
# Define any secrets that need to be passed from the caller
6+
secrets:
7+
INTEG_AWS_ACCESS_KEY_ID:
8+
required: true
9+
INTEG_AWS_SECRET_ACCESS_KEY:
10+
required: true
911

1012
jobs:
1113
tests:

.github/workflows/ci_tests.yaml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
name: Continuous Integration tests
22

33
on:
4-
pull_request:
5-
push:
6-
# Run once a day
7-
schedule:
8-
- cron: '0 0 * * *'
4+
workflow_call:
95

106
env:
117
AWS_ENCRYPTION_SDK_PYTHON_INTEGRATION_TEST_AWS_KMS_KEY_ID: |

.github/workflows/daily_ci.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# This workflow runs every weekday at 15:00 UTC (8AM PDT)
2+
name: Daily CI
3+
4+
on:
5+
schedule:
6+
- cron: "00 15 * * 1-5"
7+
pull_request:
8+
paths:
9+
.github/workflows/daily_ci.yml
10+
11+
permissions:
12+
contents: read
13+
id-token: write
14+
15+
jobs:
16+
decrypt_oracle:
17+
# Don't run the cron builds on forks
18+
if: github.event_name != 'schedule' || github.repository_owner == 'aws'
19+
uses: ./.github/workflows/ci_decrypt-oracle.yaml
20+
static_analysis:
21+
# Don't run the cron builds on forks
22+
if: github.event_name != 'schedule' || github.repository_owner == 'aws'
23+
uses: ./.github/workflows/ci_static-analysis.yaml
24+
test_vector_handler:
25+
# Don't run the cron builds on forks
26+
if: github.event_name != 'schedule' || github.repository_owner == 'aws'
27+
uses: ./.github/workflows/ci_test-vector-handler.yaml
28+
secrets:
29+
INTEG_AWS_ACCESS_KEY_ID: ${{ secrets.INTEG_AWS_ACCESS_KEY_ID }}
30+
INTEG_AWS_SECRET_ACCESS_KEY: ${{ secrets.INTEG_AWS_SECRET_ACCESS_KEY }}
31+
tests:
32+
# Don't run the cron builds on forks
33+
if: github.event_name != 'schedule' || github.repository_owner == 'aws'
34+
uses: ./.github/workflows/ci_tests.yaml
35+
36+
notify:
37+
needs:
38+
[
39+
decrypt_oracle,
40+
static_analysis,
41+
test_vector_handler,
42+
tests
43+
]
44+
if: ${{ failure() }}
45+
uses: aws/aws-cryptographic-material-providers-library/.github/workflows/slack-notification.yml@main
46+
with:
47+
message: "Daily CI failed on `${{ github.repository }}`. View run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
48+
secrets:
49+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_CI }}
50+

.github/workflows/pull.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Pull Request Workflow
2+
3+
on:
4+
pull_request:
5+
6+
# Concurrency control helps avoid CodeBuild throttling.
7+
# When new commits are pushed, the previous workflow run is cancelled.
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
permissions:
13+
id-token: write
14+
contents: read
15+
16+
jobs:
17+
# Call each workflow with appropriate parameters
18+
decrypt_oracle:
19+
uses: ./.github/workflows/ci_decrypt-oracle.yaml
20+
static_analysis:
21+
uses: ./.github/workflows/ci_static-analysis.yaml
22+
test_vector_handler:
23+
uses: ./.github/workflows/ci_test-vector-handler.yaml
24+
secrets:
25+
INTEG_AWS_ACCESS_KEY_ID: ${{ secrets.INTEG_AWS_ACCESS_KEY_ID }}
26+
INTEG_AWS_SECRET_ACCESS_KEY: ${{ secrets.INTEG_AWS_SECRET_ACCESS_KEY }}
27+
tests:
28+
uses: ./.github/workflows/ci_tests.yaml
29+
pr-ci-all-required:
30+
if: always()
31+
needs:
32+
- decrypt_oracle
33+
- static_analysis
34+
- test_vector_handler
35+
- tests
36+
runs-on: ubuntu-22.04
37+
steps:
38+
- name: Verify all required jobs passed
39+
uses: re-actors/alls-green@release/v1
40+
with:
41+
jobs: ${{ toJSON(needs) }}

.github/workflows/push.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Push Workflow
2+
3+
on:
4+
push:
5+
branches: master
6+
7+
permissions:
8+
id-token: write
9+
contents: read
10+
11+
jobs:
12+
decrypt_oracle:
13+
uses: ./.github/workflows/ci_decrypt-oracle.yaml
14+
15+
static_analysis:
16+
uses: ./.github/workflows/ci_static-analysis.yaml
17+
18+
test_vector_handler:
19+
uses: ./.github/workflows/ci_test-vector-handler.yaml
20+
secrets:
21+
INTEG_AWS_ACCESS_KEY_ID: ${{ secrets.INTEG_AWS_ACCESS_KEY_ID }}
22+
INTEG_AWS_SECRET_ACCESS_KEY: ${{ secrets.INTEG_AWS_SECRET_ACCESS_KEY }}
23+
24+
tests:
25+
uses: ./.github/workflows/ci_tests.yaml

0 commit comments

Comments
 (0)