@@ -3,6 +3,10 @@ name: Integration Tests CodeBuild
3
3
on :
4
4
workflow_dispatch :
5
5
6
+ permissions :
7
+ id-token : write # This is required for requesting the JWT
8
+ contents : read # This is required for actions/checkout
9
+
6
10
jobs :
7
11
build-integration-tests-codebuild :
8
12
name : Run Integration Tests With CodeBuild
@@ -34,35 +38,24 @@ jobs:
34
38
run : poetry install
35
39
36
40
- name : ' Configure AWS Credentials'
41
+ id : creds
37
42
uses : aws-actions/configure-aws-credentials@v4
38
43
with :
39
- aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
40
- aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
44
+ role-to-assume : arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ secrets.AWS_DEPLOY_ROLE }}
45
+ role-session-name : python_integration_codebuild_tests
46
+ role-duration-seconds : 21600
41
47
aws-region : ${{ secrets.AWS_DEFAULT_REGION }}
42
-
43
- - name : ' Set up Temp AWS Credentials'
44
- run : |
45
- creds=($(aws sts get-session-token \
46
- --duration-seconds 21600 \
47
- --query 'Credentials.[AccessKeyId, SecretAccessKey, SessionToken]' \
48
- --output text \
49
- | xargs));
50
- echo "::add-mask::${creds[0]}"
51
- echo "::add-mask::${creds[1]}"
52
- echo "::add-mask::${creds[2]}"
53
- echo "TEMP_AWS_ACCESS_KEY_ID=${creds[0]}" >> $GITHUB_ENV
54
- echo "TEMP_AWS_SECRET_ACCESS_KEY=${creds[1]}" >> $GITHUB_ENV
55
- echo "TEMP_AWS_SESSION_TOKEN=${creds[2]}" >> $GITHUB_ENV
48
+ output-credentials : true
56
49
57
50
- name : ' Run Integration Tests'
58
51
run : |
59
52
./gradlew --no-parallel --no-daemon test-python-${{ matrix.python-version }}-${{ matrix.environment }} --info
60
53
env :
61
54
RDS_CLUSTER_DOMAIN : ${{ secrets.DB_CONN_SUFFIX }}
62
55
RDS_DB_REGION : ${{ secrets.AWS_DEFAULT_REGION }}
63
- AWS_ACCESS_KEY_ID : ${{ env.TEMP_AWS_ACCESS_KEY_ID }}
64
- AWS_SECRET_ACCESS_KEY : ${{ env.TEMP_AWS_SECRET_ACCESS_KEY }}
65
- AWS_SESSION_TOKEN : ${{ env.TEMP_AWS_SESSION_TOKEN }}
56
+ AWS_ACCESS_KEY_ID : ${{ steps.creds.outputs.aws-access-key-id }}
57
+ AWS_SECRET_ACCESS_KEY : ${{ steps.creds.outputs.aws-secret-access-key }}
58
+ AWS_SESSION_TOKEN : ${{ steps.creds.outputs.aws-session-token }}
66
59
RDS_ENDPOINT : ${{ secrets.RDS_ENDPOINT }}
67
60
AURORA_MYSQL_DB_ENGINE_VERSION : " latest"
68
61
AURORA_PG_ENGINE_VERSION : " latest"
0 commit comments