@@ -203,7 +203,7 @@ jobs:
203
203
echo "is-nightly=$is_nightly" >> $GITHUB_OUTPUT
204
204
echo "channel-name=$channel_name" >> $GITHUB_OUTPUT
205
205
# 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
207
207
208
208
select-targets :
209
209
needs : build-type-determination
@@ -284,8 +284,6 @@ jobs:
284
284
- build-type-determination
285
285
- select-targets
286
286
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
289
287
# Location of artifacts generated by build.
290
288
BUILD_ARTIFACTS_PATH : electron-app/dist/build-artifacts
291
289
# to skip passing signing credentials to electron-builder
@@ -363,8 +361,6 @@ jobs:
363
361
AC_USERNAME : ${{ secrets.AC_USERNAME }}
364
362
AC_PASSWORD : ${{ secrets.AC_PASSWORD }}
365
363
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 }}
368
364
IS_NIGHTLY : ${{ needs.build-type-determination.outputs.is-nightly }}
369
365
IS_RELEASE : ${{ needs.build-type-determination.outputs.is-release }}
370
366
CAN_SIGN : ${{ secrets[matrix.config.certificate-secret] != '' }}
@@ -588,6 +584,10 @@ jobs:
588
584
env :
589
585
ARTIFACTS_FOLDER : build-artifacts
590
586
587
+ permissions :
588
+ id-token : write
589
+ contents : read
590
+
591
591
steps :
592
592
- name : Download all job transfer artifacts
593
593
uses : actions/download-artifact@v4
@@ -596,15 +596,15 @@ jobs:
596
596
path : ${{ env.ARTIFACTS_FOLDER }}
597
597
pattern : ${{ env.JOB_TRANSFER_ARTIFACT_PREFIX }}*
598
598
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
+
599
605
- 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
608
608
609
609
release :
610
610
needs :
@@ -625,6 +625,10 @@ jobs:
625
625
env :
626
626
ARTIFACTS_FOLDER : build-artifacts
627
627
628
+ permissions :
629
+ id-token : write
630
+ contents : read
631
+
628
632
steps :
629
633
- name : Download all job transfer artifacts
630
634
uses : actions/download-artifact@v4
@@ -648,16 +652,17 @@ jobs:
648
652
file_glob : true
649
653
body : ${{ needs.changelog.outputs.BODY }}
650
654
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
+
651
662
- name : Publish Release [S3]
652
663
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
661
666
662
667
clean :
663
668
# This job must run after all jobs that use the transfer artifact.
0 commit comments