@@ -203,7 +203,7 @@ jobs:
203203 echo "is-nightly=$is_nightly" >> $GITHUB_OUTPUT
204204 echo "channel-name=$channel_name" >> $GITHUB_OUTPUT
205205 # Only attempt upload to Amazon S3 if the credentials are available.
206- echo "publish-to-s3=${{ secrets.AWS_SECRET_ACCESS_KEY != '' }}" >> $GITHUB_OUTPUT
206+ echo "publish-to-s3=${{ secrets.AWS_ROLE_ARN != '' }}" >> $GITHUB_OUTPUT
207207
208208 select-targets :
209209 needs : build-type-determination
@@ -284,8 +284,6 @@ jobs:
284284 - build-type-determination
285285 - select-targets
286286 env :
287- # https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
288- ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION : true
289287 # Location of artifacts generated by build.
290288 BUILD_ARTIFACTS_PATH : electron-app/dist/build-artifacts
291289 # to skip passing signing credentials to electron-builder
@@ -363,8 +361,6 @@ jobs:
363361 AC_USERNAME : ${{ secrets.AC_USERNAME }}
364362 AC_PASSWORD : ${{ secrets.AC_PASSWORD }}
365363 AC_TEAM_ID : ${{ secrets.AC_TEAM_ID }}
366- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
367- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
368364 IS_NIGHTLY : ${{ needs.build-type-determination.outputs.is-nightly }}
369365 IS_RELEASE : ${{ needs.build-type-determination.outputs.is-release }}
370366 CAN_SIGN : ${{ secrets[matrix.config.certificate-secret] != '' }}
@@ -588,6 +584,10 @@ jobs:
588584 env :
589585 ARTIFACTS_FOLDER : build-artifacts
590586
587+ permissions :
588+ id-token : write
589+ contents : read
590+
591591 steps :
592592 - name : Download all job transfer artifacts
593593 uses : actions/download-artifact@v4
@@ -596,15 +596,15 @@ jobs:
596596 path : ${{ env.ARTIFACTS_FOLDER }}
597597 pattern : ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}*
598598
599+ - name : Configure AWS Credentials for Nightly [S3]
600+ uses : aws-actions/configure-aws-credentials@v4
601+ with :
602+ role-to-assume : ${{ secrets.AWS_ROLE_ARN }}
603+ aws-region : us-east-1
604+
599605 - name : Publish Nightly [S3]
600- uses : docker://plugins/s3
601- env :
602- PLUGIN_SOURCE : ' ${{ env.ARTIFACTS_FOLDER }}/*'
603- PLUGIN_STRIP_PREFIX : ' ${{ env.ARTIFACTS_FOLDER }}/'
604- PLUGIN_TARGET : ' /arduino-ide/nightly'
605- PLUGIN_BUCKET : ${{ secrets.DOWNLOADS_BUCKET }}
606- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
607- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
606+ run : |
607+ aws s3 sync ${{ env.ARTIFACTS_FOLDER }} s3://${{ secrets.DOWNLOADS_BUCKET }}/arduino-ide/nightly
608608
609609 release :
610610 needs :
@@ -625,6 +625,10 @@ jobs:
625625 env :
626626 ARTIFACTS_FOLDER : build-artifacts
627627
628+ permissions :
629+ id-token : write
630+ contents : read
631+
628632 steps :
629633 - name : Download all job transfer artifacts
630634 uses : actions/download-artifact@v4
@@ -648,16 +652,17 @@ jobs:
648652 file_glob : true
649653 body : ${{ needs.changelog.outputs.BODY }}
650654
655+ - name : Configure AWS Credentials for Release [S3]
656+ if : needs.build-type-determination.outputs.publish-to-s3 == 'true'
657+ uses : aws-actions/configure-aws-credentials@v4
658+ with :
659+ role-to-assume : ${{ secrets.AWS_ROLE_ARN }}
660+ aws-region : us-east-1
661+
651662 - name : Publish Release [S3]
652663 if : needs.build-type-determination.outputs.publish-to-s3 == 'true'
653- uses : docker://plugins/s3
654- env :
655- PLUGIN_SOURCE : ' ${{ env.ARTIFACTS_FOLDER }}/*'
656- PLUGIN_STRIP_PREFIX : ' ${{ env.ARTIFACTS_FOLDER }}/'
657- PLUGIN_TARGET : ' /arduino-ide'
658- PLUGIN_BUCKET : ${{ secrets.DOWNLOADS_BUCKET }}
659- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
660- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
664+ run : |
665+ aws s3 sync ${{ env.ARTIFACTS_FOLDER }} s3://${{ secrets.DOWNLOADS_BUCKET }}/arduino-ide
661666
662667 clean :
663668 # This job must run after all jobs that use the transfer artifact.
0 commit comments