Skip to content

Commit 210c4ce

Browse files
authored
fix: serialize tests, increase timing (#92)
Signed-off-by: matttrach <matt.trachier@suse.com>
1 parent 851feb9 commit 210c4ce

1 file changed

Lines changed: 30 additions & 15 deletions

File tree

.github/workflows/release.yaml

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ env:
1010
AWS_ROLE: arn:aws:iam::270074865685:role/terraform-module-ci-test
1111
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
1212
ACME_SERVER_URL: https://acme-v02.api.letsencrypt.org/directory
13-
AWS_MAX_ATTEMPTS: 50
13+
AWS_MAX_ATTEMPTS: 100
14+
AWS_RETRY_MODE: adaptive
1415

1516
permissions: write-all
1617

@@ -72,7 +73,8 @@ jobs:
7273
repo: "${{ github.event.repository.name }}",
7374
body: "Please make sure e2e tests pass before merging this PR! \n ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
7475
})
75-
76+
# WARNING! Tests need to run one at a time because AWS is throttling our requests.
77+
# 4 hours is the current maximum session time for the token
7678
test_TestOneBasic:
7779
needs: release
7880
if: needs.release.outputs.release_pr
@@ -88,7 +90,7 @@ jobs:
8890
role-to-assume: ${{env.AWS_ROLE}}
8991
role-session-name: ${{github.run_id}}
9092
aws-region: ${{env.AWS_REGION}}
91-
role-duration-seconds: 7200 # 2 hours
93+
role-duration-seconds: 14400 # 4 hours
9294
output-credentials: true
9395
- name: install-nix
9496
run: |
@@ -102,7 +104,8 @@ jobs:
102104
AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }}
103105
AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }}
104106
AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }}
105-
AWS_MAX_ATTEMPTS: 50
107+
AWS_MAX_ATTEMPTS: 100
108+
AWS_RETRY_MODE: adaptive
106109
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
107110
GITHUB_OWNER: rancher
108111
IDENTIFIER: ${{github.run_id}}
@@ -113,7 +116,9 @@ jobs:
113116
./run_tests.sh -t TestOneBasic
114117
115118
test_TestProdBasic:
116-
needs: release
119+
needs:
120+
- release
121+
- test_TestOneBasic
117122
if: needs.release.outputs.release_pr
118123
runs-on: ubuntu-latest
119124
steps:
@@ -127,7 +132,7 @@ jobs:
127132
role-to-assume: ${{env.AWS_ROLE}}
128133
role-session-name: ${{github.run_id}}
129134
aws-region: ${{env.AWS_REGION}}
130-
role-duration-seconds: 7200 # 2 hours
135+
role-duration-seconds: 14400 # 4 hours
131136
output-credentials: true
132137
- name: install-nix
133138
run: |
@@ -141,7 +146,8 @@ jobs:
141146
AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }}
142147
AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }}
143148
AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }}
144-
AWS_MAX_ATTEMPTS: 50
149+
AWS_MAX_ATTEMPTS: 100
150+
AWS_RETRY_MODE: adaptive
145151
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
146152
GITHUB_OWNER: rancher
147153
IDENTIFIER: ${{github.run_id}}
@@ -152,7 +158,10 @@ jobs:
152158
./run_tests.sh -t TestProdBasic
153159
154160
test_TestDownstreamBasic:
155-
needs: release
161+
needs:
162+
- release
163+
- test_TestOneBasic
164+
- test_TestProdBasic
156165
if: needs.release.outputs.release_pr
157166
runs-on: ubuntu-latest
158167
steps:
@@ -166,7 +175,7 @@ jobs:
166175
role-to-assume: ${{env.AWS_ROLE}}
167176
role-session-name: ${{github.run_id}}
168177
aws-region: ${{env.AWS_REGION}}
169-
role-duration-seconds: 7200 # 2 hours
178+
role-duration-seconds: 14400 # 4 hours
170179
output-credentials: true
171180
- name: install-nix
172181
run: |
@@ -180,7 +189,8 @@ jobs:
180189
AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }}
181190
AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }}
182191
AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }}
183-
AWS_MAX_ATTEMPTS: 50
192+
AWS_MAX_ATTEMPTS: 100
193+
AWS_RETRY_MODE: adaptive
184194
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
185195
GITHUB_OWNER: rancher
186196
IDENTIFIER: ${{github.run_id}}
@@ -191,7 +201,11 @@ jobs:
191201
./run_tests.sh -t TestDownstreamBasic
192202
193203
test_TestDownstreamProd:
194-
needs: release
204+
needs:
205+
- release
206+
- test_TestOneBasic
207+
- test_TestProdBasic
208+
- test_TestDownstreamBasic
195209
if: needs.release.outputs.release_pr
196210
runs-on: ubuntu-latest
197211
steps:
@@ -205,7 +219,7 @@ jobs:
205219
role-to-assume: ${{env.AWS_ROLE}}
206220
role-session-name: ${{github.run_id}}
207221
aws-region: ${{env.AWS_REGION}}
208-
role-duration-seconds: 7200 # 2 hours
222+
role-duration-seconds: 14400 # 4 hours
209223
output-credentials: true
210224
- name: install-nix
211225
run: |
@@ -219,7 +233,8 @@ jobs:
219233
AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }}
220234
AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }}
221235
AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }}
222-
AWS_MAX_ATTEMPTS: 50
236+
AWS_MAX_ATTEMPTS: 100
237+
AWS_RETRY_MODE: adaptive
223238
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
224239
GITHUB_OWNER: rancher
225240
IDENTIFIER: ${{github.run_id}}
@@ -249,7 +264,7 @@ jobs:
249264
role-to-assume: ${{env.AWS_ROLE}}
250265
role-session-name: ${{github.run_id}}
251266
aws-region: ${{env.AWS_REGION}}
252-
role-duration-seconds: 7200 # 2 hours
267+
role-duration-seconds: 3600 # 1 hour
253268
output-credentials: true
254269
- name: install-nix
255270
run: |
@@ -263,7 +278,7 @@ jobs:
263278
AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }}
264279
AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }}
265280
AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }}
266-
AWS_MAX_ATTEMPTS: 50
281+
AWS_MAX_ATTEMPTS: 100
267282
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
268283
GITHUB_OWNER: rancher
269284
IDENTIFIER: ${{github.run_id}}

0 commit comments

Comments
 (0)