Skip to content

Commit 8ac079e

Browse files
committed
use OIDC to retrieve the credentials
TODO remove AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY from secrets TODO add AWS_ROLE_TO_ASSUME to secrets
1 parent 16f322f commit 8ac079e

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
@@ -5,13 +5,15 @@ on:
55
tags:
66
- "[0-9]+.[0-9]+.[0-9]+*"
77

8+
permissions:
9+
id-token: write # This is required for requesting the JWT
10+
contents: read # This is required for actions/checkout
11+
812
env:
913
# As defined by the Taskfile's PROJECT_NAME variable
1014
PROJECT_NAME: arduino-create-agent
1115
TARGET: "/CreateAgent/Stable/"
1216
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 }}
1517
AWS_REGION: "us-east-1" # or https://github.com/aws/aws-cli/issues/5623
1618
KEYCHAIN: "sign.keychain"
1719
KEYCHAIN_PASSWORD: keychainpassword # Arbitrary password for a keychain that exists only for the duration of the job, so not secret
@@ -129,6 +131,13 @@ jobs:
129131
- name: Create autoupdate files for win32
130132
run: go-selfupdate -platform windows-${{ matrix.arch }} ${{ env.PROJECT_NAME }}${{ matrix.ext }} ${TAG_VERSION}
131133
if: matrix.arch == '386' && matrix.os == 'windows-2019' && steps.prerelease.outputs.IS_PRE != 'true'
134+
135+
- name: configure aws credentials
136+
uses: aws-actions/configure-aws-credentials@v4
137+
with:
138+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
139+
role-session-name: "github_${{ env.PROJECT_NAME }}"
140+
aws-region: ${{ env.AWS_REGION }}
132141

133142
- name: Upload autoupdate files to Arduino downloads servers
134143
run: |
@@ -316,6 +325,13 @@ jobs:
316325
run: |
317326
gon -log-level=debug -log-json "${{ env.GON_CONFIG_PATH }}"
318327
328+
- name: configure aws credentials
329+
uses: aws-actions/configure-aws-credentials@v4
330+
with:
331+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
332+
role-session-name: "github_${{ env.PROJECT_NAME }}"
333+
aws-region: ${{ env.AWS_REGION }}
334+
319335
- name: Upload autoupdate bundle to Arduino downloads servers
320336
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
321337
if: ${{ needs.build.outputs.prerelease != 'true' }}
@@ -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)