Skip to content

Commit 4b8a537

Browse files
authored
[skip-changelog] use OIDC to retrieve the credentials (#901)
1 parent 457b294 commit 4b8a537

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

.github/workflows/release.yml

+26-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ env:
1010
PROJECT_NAME: arduino-create-agent
1111
TARGET: "/CreateAgent/Stable/"
1212
VERSION_TARGET: "arduino-create-static/agent-metadata/"
13-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
14-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
1513
AWS_REGION: "us-east-1" # or https://github.com/aws/aws-cli/issues/5623
1614
KEYCHAIN: "sign.keychain"
1715
KEYCHAIN_PASSWORD: keychainpassword # Arbitrary password for a keychain that exists only for the duration of the job, so not secret
@@ -129,6 +127,13 @@ jobs:
129127
- name: Create autoupdate files for win32
130128
run: go-selfupdate -platform windows-${{ matrix.arch }} ${{ env.PROJECT_NAME }}${{ matrix.ext }} ${TAG_VERSION}
131129
if: matrix.arch == '386' && matrix.os == 'windows-2019' && steps.prerelease.outputs.IS_PRE != 'true'
130+
131+
- name: configure aws credentials
132+
uses: aws-actions/configure-aws-credentials@v4
133+
with:
134+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
135+
role-session-name: "github_${{ env.PROJECT_NAME }}"
136+
aws-region: ${{ env.AWS_REGION }}
132137

133138
- name: Upload autoupdate files to Arduino downloads servers
134139
run: |
@@ -316,6 +321,13 @@ jobs:
316321
run: |
317322
gon -log-level=debug -log-json "${{ env.GON_CONFIG_PATH }}"
318323
324+
- name: configure aws credentials
325+
uses: aws-actions/configure-aws-credentials@v4
326+
with:
327+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
328+
role-session-name: "github_${{ env.PROJECT_NAME }}"
329+
aws-region: ${{ env.AWS_REGION }}
330+
319331
- name: Upload autoupdate bundle to Arduino downloads servers
320332
run: aws s3 cp ArduinoCreateAgent.app_${{ matrix.arch }}_notarized.zip s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.TARGET }}${GITHUB_REF/refs\/tags\//}/ # the version should be created in th the build job
321333
if: ${{ needs.build.outputs.prerelease != 'true' }}
@@ -523,7 +535,11 @@ jobs:
523535

524536
create-release:
525537
runs-on: ubuntu-20.04
538+
environment: production
526539
needs: [build, package, generate-sign-dmg]
540+
permission:
541+
contents: write
542+
id-token: write # This is required for requesting the JWT
527543

528544
steps:
529545
- name: Checkout
@@ -594,6 +610,14 @@ jobs:
594610
file_glob: true # If set to true, the file argument can be a glob pattern
595611
file: release/*
596612

613+
614+
- name: configure aws credentials
615+
uses: aws-actions/configure-aws-credentials@v4
616+
with:
617+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
618+
role-session-name: "github_${{ env.PROJECT_NAME }}"
619+
aws-region: ${{ env.AWS_REGION }}
620+
597621
- name: Upload release files on Arduino downloads servers
598622
run: aws s3 sync release/ s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.TARGET }}
599623
if: ${{ needs.build.outputs.prerelease != 'true' }}

0 commit comments

Comments
 (0)