Skip to content

Commit dafef3c

Browse files
authored
[skip-changelog] fix release CI (#906)
* followup of #901, fix CI * fix permissions * fix environment * set permissions for the entire workflow * replace create-release deprecated action with the same one used in the cli * do not configure credentials when in pre-release (they are not used)
1 parent 4b8a537 commit dafef3c

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

.github/workflows/release.yml

+15-18
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ on:
55
tags:
66
- "[0-9]+.[0-9]+.[0-9]+*"
77

8+
permissions:
9+
contents: write
10+
id-token: write # This is required for requesting the JWT
11+
812
env:
913
# As defined by the Taskfile's PROJECT_NAME variable
1014
PROJECT_NAME: arduino-create-agent
@@ -46,6 +50,7 @@ jobs:
4650
CGO_ENABLED: 0
4751

4852
runs-on: ${{ matrix.os }}
53+
environment: production
4954

5055
steps:
5156
- name: Set env vars
@@ -134,6 +139,7 @@ jobs:
134139
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
135140
role-session-name: "github_${{ env.PROJECT_NAME }}"
136141
aws-region: ${{ env.AWS_REGION }}
142+
if: steps.prerelease.outputs.IS_PRE != 'true'
137143

138144
- name: Upload autoupdate files to Arduino downloads servers
139145
run: |
@@ -231,6 +237,7 @@ jobs:
231237
env:
232238
GON_PATH: ${{ github.workspace }}/gon
233239
needs: [build, create-macos-bundle]
240+
environment: production
234241

235242
steps:
236243
- name: Download artifact
@@ -327,6 +334,7 @@ jobs:
327334
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
328335
role-session-name: "github_${{ env.PROJECT_NAME }}"
329336
aws-region: ${{ env.AWS_REGION }}
337+
if: ${{ needs.build.outputs.prerelease != 'true' }}
330338

331339
- name: Upload autoupdate bundle to Arduino downloads servers
332340
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
@@ -537,9 +545,6 @@ jobs:
537545
runs-on: ubuntu-20.04
538546
environment: production
539547
needs: [build, package, generate-sign-dmg]
540-
permission:
541-
contents: write
542-
id-token: write # This is required for requesting the JWT
543548

544549
steps:
545550
- name: Checkout
@@ -591,32 +596,24 @@ jobs:
591596
echo "</details>" >> $GITHUB_OUTPUT
592597
echo "EOF" >> $GITHUB_OUTPUT
593598
594-
- name: Create Github Release
595-
uses: actions/create-release@v1
596-
env:
597-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
599+
- name: Create Github Release and upload artifacts
600+
uses: ncipollo/release-action@v1
598601
with:
599-
tag_name: ${{ github.ref }}
600-
release_name: ${{ github.ref }}
602+
token: ${{ secrets.GITHUB_TOKEN }}
601603
body: ${{ steps.release_body.outputs.RBODY}}
602604
draft: false
603605
prerelease: ${{ needs.build.outputs.prerelease }}
604-
605-
- name: Upload release files on Github
606-
uses: svenstaro/upload-release-action@v2
607-
with:
608-
repo_token: ${{ secrets.GITHUB_TOKEN }}
609-
tag: ${{ github.ref }}
610-
file_glob: true # If set to true, the file argument can be a glob pattern
611-
file: release/*
612-
606+
# NOTE: "Artifact is a directory" warnings are expected and don't indicate a problem
607+
# (all the files we need are in the DIST_DIR root)
608+
artifacts: release/*
613609

614610
- name: configure aws credentials
615611
uses: aws-actions/configure-aws-credentials@v4
616612
with:
617613
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
618614
role-session-name: "github_${{ env.PROJECT_NAME }}"
619615
aws-region: ${{ env.AWS_REGION }}
616+
if: ${{ needs.build.outputs.prerelease != 'true' }}
620617

621618
- name: Upload release files on Arduino downloads servers
622619
run: aws s3 sync release/ s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.TARGET }}

0 commit comments

Comments
 (0)