|
12 | 12 | - main
|
13 | 13 |
|
14 | 14 | env:
|
| 15 | + # As defined by the Taskfile's PROJECT_NAME variable |
| 16 | + PROJECT_NAME: arduino-language-server |
15 | 17 | ARTIFACT_PREFIX: dist-
|
| 18 | + AWS_REGION: "us-east-1" |
| 19 | + # The project's folder on Arduino's download server for uploading builds |
| 20 | + AWS_PLUGIN_TARGET: /arduino-language-server/nightly/ |
| 21 | + # As defined by the Taskfile's DIST_DIR variable |
| 22 | + DIST_DIR: dist |
16 | 23 |
|
17 | 24 | jobs:
|
18 | 25 |
|
@@ -65,20 +72,24 @@ jobs:
|
65 | 72 | needs: build
|
66 | 73 | if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main')
|
67 | 74 | runs-on: ubuntu-latest
|
| 75 | + environment: production |
| 76 | + permissions: |
| 77 | + contents: write |
| 78 | + id-token: write # This is required for requesting the JWT |
68 | 79 | steps:
|
69 | 80 | - name: Download Workflow Artifact [GitHub Actions]
|
70 | 81 | uses: actions/download-artifact@v4
|
71 | 82 | with:
|
72 | 83 | pattern: ${{ env.ARTIFACT_PREFIX }}*
|
73 | 84 | merge-multiple: true
|
74 |
| - path: build-artifacts |
| 85 | + path: ${{ env.DIST_DIR }} |
75 | 86 |
|
76 |
| - - name: Publish Nightly [S3] |
77 |
| - uses: docker://plugins/s3 |
78 |
| - env: |
79 |
| - PLUGIN_SOURCE: "build-artifacts/*" |
80 |
| - PLUGIN_TARGET: "/arduino-language-server/nightly" |
81 |
| - PLUGIN_STRIP_PREFIX: "build-artifacts/" |
82 |
| - PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} |
83 |
| - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} |
84 |
| - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
| 87 | + - name: configure aws credentials |
| 88 | + uses: aws-actions/configure-aws-credentials@v4 |
| 89 | + with: |
| 90 | + role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} |
| 91 | + role-session-name: "github_${{ env.PROJECT_NAME }}" |
| 92 | + aws-region: ${{ env.AWS_REGION }} |
| 93 | + |
| 94 | + - name: Upload release files on Arduino downloads servers |
| 95 | + run: aws s3 sync ${{ env.DIST_DIR }} s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.AWS_PLUGIN_TARGET }} |
0 commit comments