Skip to content

Commit b7bed6d

Browse files
gmarullclaude
andcommitted
ci: bump GitHub Actions to Node 24 runtimes
GitHub is deprecating the Node.js 20 actions runtime. Bump all JavaScript actions to the majors that default to Node 24: - actions/checkout v4 -> v5 - actions/upload-artifact v4 -> v6 - actions/download-artifact v4 -> v7 - actions/stale v9 -> v10 - dorny/paths-filter v3 -> v4 - mikepenz/action-junit-report v5 -> v6 - softprops/action-gh-release v2.2.2 -> v3.0.0 Noelware/s3-action has no Node 24 release, so replace it with the official aws-actions/configure-aws-credentials action plus an aws s3 cp step, preserving the custom endpoint and object key naming. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
1 parent 923d860 commit b7bed6d

10 files changed

Lines changed: 80 additions & 65 deletions

.github/workflows/build-firmware.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
outputs:
1515
should-build: ${{ github.event_name == 'push' || steps.filter.outputs.src == 'true' }}
1616
steps:
17-
- uses: dorny/paths-filter@v3
17+
- uses: dorny/paths-filter@v4
1818
if: github.event_name == 'pull_request'
1919
id: filter
2020
with:
@@ -55,7 +55,7 @@ jobs:
5555
run: git config --system --add safe.directory "${GITHUB_WORKSPACE}"
5656

5757
- name: Checkout
58-
uses: actions/checkout@v4
58+
uses: actions/checkout@v5
5959
with:
6060
fetch-depth: 0
6161
submodules: true
@@ -80,7 +80,7 @@ jobs:
8080
run: ./waf bundle
8181

8282
- name: Store
83-
uses: actions/upload-artifact@v4
83+
uses: actions/upload-artifact@v6
8484
with:
8585
name: firmware-${{ matrix.board }}
8686
path: |
@@ -93,17 +93,21 @@ jobs:
9393
run: |
9494
echo "BUILD_ID=$(readelf -n build/src/fw/tintin_fw.elf | sed -n -e 's/^.*Build ID: //p')" >> "$GITHUB_OUTPUT"
9595
96-
- name: Upload log hash dictionary
97-
uses: Noelware/s3-action@2.3.1
96+
- name: Configure AWS credentials
9897
if: ${{ github.event_name == 'push' && github.repository == 'coredevices/PebbleOS' }}
98+
uses: aws-actions/configure-aws-credentials@v6
9999
with:
100-
access-key-id: ${{ secrets.LOG_HASH_BUCKET_KEY_ID }}
101-
secret-key: ${{ secrets.LOG_HASH_BUCKET_SECRET }}
102-
endpoint: ${{ vars.LOG_HASH_BUCKET_ENDPOINT }}
103-
bucket: ${{ vars.LOG_HASH_BUCKET_NAME }}
104-
files: |
105-
build/src/fw/tintin_fw_loghash_dict.json
106-
path-format: ${{ steps.build_id.outputs.BUILD_ID }}-${{ github.sha }}-normal.json
100+
aws-access-key-id: ${{ secrets.LOG_HASH_BUCKET_KEY_ID }}
101+
aws-secret-access-key: ${{ secrets.LOG_HASH_BUCKET_SECRET }}
102+
aws-region: us-east-1
103+
104+
- name: Upload log hash dictionary
105+
if: ${{ github.event_name == 'push' && github.repository == 'coredevices/PebbleOS' }}
106+
run: |
107+
pip install awscli
108+
aws s3 cp build/src/fw/tintin_fw_loghash_dict.json \
109+
"s3://${{ vars.LOG_HASH_BUCKET_NAME }}/${{ steps.build_id.outputs.BUILD_ID }}-${{ github.sha }}-normal.json" \
110+
--endpoint-url "${{ vars.LOG_HASH_BUCKET_ENDPOINT }}"
107111
108112
build-firmware-status:
109113
needs: [changes-firmware, build-firmware]

.github/workflows/build-prf.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
outputs:
1515
should-build: ${{ github.event_name == 'push' || steps.filter.outputs.src == 'true' }}
1616
steps:
17-
- uses: dorny/paths-filter@v3
17+
- uses: dorny/paths-filter@v4
1818
if: github.event_name == 'pull_request'
1919
id: filter
2020
with:
@@ -56,7 +56,7 @@ jobs:
5656
run: git config --system --add safe.directory "${GITHUB_WORKSPACE}"
5757

5858
- name: Checkout
59-
uses: actions/checkout@v4
59+
uses: actions/checkout@v5
6060
with:
6161
fetch-depth: 0
6262
submodules: true
@@ -86,7 +86,7 @@ jobs:
8686
run: ./waf bundle
8787

8888
- name: Store
89-
uses: actions/upload-artifact@v4
89+
uses: actions/upload-artifact@v6
9090
with:
9191
name: prf-${{ matrix.board }}-${{ matrix.mode }}
9292
path: |
@@ -99,17 +99,21 @@ jobs:
9999
run: |
100100
echo "BUILD_ID=$(readelf -n build/src/fw/tintin_fw.elf | sed -n -e 's/^.*Build ID: //p')" >> "$GITHUB_OUTPUT"
101101
102-
- name: Upload log hash dictionary
103-
uses: Noelware/s3-action@2.3.1
102+
- name: Configure AWS credentials
104103
if: ${{ github.event_name == 'push' && github.repository == 'coredevices/PebbleOS' }}
104+
uses: aws-actions/configure-aws-credentials@v6
105105
with:
106-
access-key-id: ${{ secrets.LOG_HASH_BUCKET_KEY_ID }}
107-
secret-key: ${{ secrets.LOG_HASH_BUCKET_SECRET }}
108-
endpoint: ${{ vars.LOG_HASH_BUCKET_ENDPOINT }}
109-
bucket: ${{ vars.LOG_HASH_BUCKET_NAME }}
110-
files: |
111-
build/src/fw/tintin_fw_loghash_dict.json
112-
path-format: ${{ steps.build_id.outputs.BUILD_ID }}-${{ github.sha }}-prf.json
106+
aws-access-key-id: ${{ secrets.LOG_HASH_BUCKET_KEY_ID }}
107+
aws-secret-access-key: ${{ secrets.LOG_HASH_BUCKET_SECRET }}
108+
aws-region: us-east-1
109+
110+
- name: Upload log hash dictionary
111+
if: ${{ github.event_name == 'push' && github.repository == 'coredevices/PebbleOS' }}
112+
run: |
113+
pip install awscli
114+
aws s3 cp build/src/fw/tintin_fw_loghash_dict.json \
115+
"s3://${{ vars.LOG_HASH_BUCKET_NAME }}/${{ steps.build_id.outputs.BUILD_ID }}-${{ github.sha }}-prf.json" \
116+
--endpoint-url "${{ vars.LOG_HASH_BUCKET_ENDPOINT }}"
113117
114118
build-prf-status:
115119
needs: [changes-prf, build-prf]

.github/workflows/build-qemu-sdkshell.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
outputs:
1515
should-build: ${{ github.event_name == 'push' || steps.filter.outputs.src == 'true' }}
1616
steps:
17-
- uses: dorny/paths-filter@v3
17+
- uses: dorny/paths-filter@v4
1818
if: github.event_name == 'pull_request'
1919
id: filter
2020
with:
@@ -49,7 +49,7 @@ jobs:
4949
run: git config --system --add safe.directory "${GITHUB_WORKSPACE}"
5050

5151
- name: Checkout
52-
uses: actions/checkout@v4
52+
uses: actions/checkout@v5
5353
with:
5454
fetch-depth: 0
5555
submodules: true
@@ -71,7 +71,7 @@ jobs:
7171
run: ./waf build qemu_image_micro qemu_image_spi
7272

7373
- name: Store
74-
uses: actions/upload-artifact@v4
74+
uses: actions/upload-artifact@v6
7575
with:
7676
name: firmware-${{ matrix.board }}-qemu
7777
path: |

.github/workflows/build-qemu.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
outputs:
1515
should-build: ${{ github.event_name == 'push' || steps.filter.outputs.src == 'true' }}
1616
steps:
17-
- uses: dorny/paths-filter@v3
17+
- uses: dorny/paths-filter@v4
1818
if: github.event_name == 'pull_request'
1919
id: filter
2020
with:
@@ -49,7 +49,7 @@ jobs:
4949
run: git config --system --add safe.directory "${GITHUB_WORKSPACE}"
5050

5151
- name: Checkout
52-
uses: actions/checkout@v4
52+
uses: actions/checkout@v5
5353
with:
5454
fetch-depth: 0
5555
submodules: true
@@ -71,7 +71,7 @@ jobs:
7171
run: ./waf build qemu_image_micro qemu_image_spi
7272

7373
- name: Store
74-
uses: actions/upload-artifact@v4
74+
uses: actions/upload-artifact@v6
7575
with:
7676
name: firmware-${{ matrix.board }}-qemu
7777
path: |

.github/workflows/build-translation-source.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
run: git config --system --add safe.directory "${GITHUB_WORKSPACE}"
2424

2525
- name: Checkout
26-
uses: actions/checkout@v4
26+
uses: actions/checkout@v5
2727
with:
2828
fetch-depth: 0
2929
submodules: true

.github/workflows/compliance.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-24.04
99
steps:
1010
- name: Checkout
11-
uses: actions/checkout@v4
11+
uses: actions/checkout@v5
1212
with:
1313
ref: ${{ github.event.pull_request.head.sha }}
1414
fetch-depth: 0
@@ -23,7 +23,7 @@ jobs:
2323
runs-on: ubuntu-24.04
2424
steps:
2525
- name: Checkout
26-
uses: actions/checkout@v4
26+
uses: actions/checkout@v5
2727
with:
2828
ref: ${{ github.event.pull_request.head.sha }}
2929
fetch-depth: 0
@@ -60,7 +60,7 @@ jobs:
6060
runs-on: ubuntu-24.04
6161
steps:
6262
- name: Checkout
63-
uses: actions/checkout@v4
63+
uses: actions/checkout@v5
6464
with:
6565
ref: ${{ github.event.pull_request.head.sha }}
6666
fetch-depth: 0

.github/workflows/crowdin-pull.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212

1313
steps:
1414
- name: Checkout repository
15-
uses: actions/checkout@v4
15+
uses: actions/checkout@v5
1616

1717
- name: Pull translations from Crowdin
1818
uses: crowdin/github-action@v2

.github/workflows/release.yml

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
run: git config --system --add safe.directory "${GITHUB_WORKSPACE}"
3131

3232
- name: Checkout
33-
uses: actions/checkout@v4
33+
uses: actions/checkout@v5
3434
with:
3535
fetch-depth: 0
3636
submodules: true
@@ -67,16 +67,19 @@ jobs:
6767
run: |
6868
echo "BUILD_ID=$(readelf -n build/src/fw/tintin_fw.elf | sed -n -e 's/^.*Build ID: //p')" >> "$GITHUB_OUTPUT"
6969
70-
- name: Upload PRF log hash dictionary
71-
uses: Noelware/s3-action@2.3.1
70+
- name: Configure AWS credentials
71+
uses: aws-actions/configure-aws-credentials@v6
7272
with:
73-
access-key-id: ${{ secrets.LOG_HASH_BUCKET_KEY_ID }}
74-
secret-key: ${{ secrets.LOG_HASH_BUCKET_SECRET }}
75-
endpoint: ${{ vars.LOG_HASH_BUCKET_ENDPOINT }}
76-
bucket: ${{ vars.LOG_HASH_BUCKET_NAME }}
77-
files: |
78-
build/src/fw/tintin_fw_loghash_dict.json
79-
path-format: ${{ steps.prf_build_id.outputs.BUILD_ID }}-${{ github.sha }}-prf.json
73+
aws-access-key-id: ${{ secrets.LOG_HASH_BUCKET_KEY_ID }}
74+
aws-secret-access-key: ${{ secrets.LOG_HASH_BUCKET_SECRET }}
75+
aws-region: us-east-1
76+
77+
- name: Upload PRF log hash dictionary
78+
run: |
79+
pip install awscli
80+
aws s3 cp build/src/fw/tintin_fw_loghash_dict.json \
81+
"s3://${{ vars.LOG_HASH_BUCKET_NAME }}/${{ steps.prf_build_id.outputs.BUILD_ID }}-${{ github.sha }}-prf.json" \
82+
--endpoint-url "${{ vars.LOG_HASH_BUCKET_ENDPOINT }}"
8083
8184
- name: Configure PRF MFG
8285
run: ./waf configure --board ${{ matrix.board }} --variant=prf --mfg --nohash -DCONFIG_RELEASE=y
@@ -92,7 +95,7 @@ jobs:
9295
cp build/src/fw/tintin_fw.elf artifacts/prf_mfg_${{ matrix.board }}_${{github.ref_name}}.elf
9396
9497
- name: Store
95-
uses: actions/upload-artifact@v4
98+
uses: actions/upload-artifact@v6
9699
with:
97100
name: artifacts-prf-${{ matrix.board }}
98101
path: artifacts
@@ -125,7 +128,7 @@ jobs:
125128
run: git config --system --add safe.directory "${GITHUB_WORKSPACE}"
126129

127130
- name: Checkout
128-
uses: actions/checkout@v4
131+
uses: actions/checkout@v5
129132
with:
130133
fetch-depth: 0
131134
submodules: true
@@ -178,20 +181,24 @@ jobs:
178181
run: |
179182
echo "BUILD_ID=$(readelf -n build/src/fw/tintin_fw.elf | sed -n -e 's/^.*Build ID: //p')" >> "$GITHUB_OUTPUT"
180183
181-
- name: Upload log hash dictionary
182-
uses: Noelware/s3-action@2.3.1
184+
- name: Configure AWS credentials
183185
if: ${{ github.repository == 'coredevices/PebbleOS' }}
186+
uses: aws-actions/configure-aws-credentials@v6
184187
with:
185-
access-key-id: ${{ secrets.LOG_HASH_BUCKET_KEY_ID }}
186-
secret-key: ${{ secrets.LOG_HASH_BUCKET_SECRET }}
187-
endpoint: ${{ vars.LOG_HASH_BUCKET_ENDPOINT }}
188-
bucket: ${{ vars.LOG_HASH_BUCKET_NAME }}
189-
files: |
190-
build/src/fw/tintin_fw_loghash_dict.json
191-
path-format: ${{ steps.build_id.outputs.BUILD_ID }}-${{ github.sha }}-normal.json
188+
aws-access-key-id: ${{ secrets.LOG_HASH_BUCKET_KEY_ID }}
189+
aws-secret-access-key: ${{ secrets.LOG_HASH_BUCKET_SECRET }}
190+
aws-region: us-east-1
191+
192+
- name: Upload log hash dictionary
193+
if: ${{ github.repository == 'coredevices/PebbleOS' }}
194+
run: |
195+
pip install awscli
196+
aws s3 cp build/src/fw/tintin_fw_loghash_dict.json \
197+
"s3://${{ vars.LOG_HASH_BUCKET_NAME }}/${{ steps.build_id.outputs.BUILD_ID }}-${{ github.sha }}-normal.json" \
198+
--endpoint-url "${{ vars.LOG_HASH_BUCKET_ENDPOINT }}"
192199
193200
- name: Store
194-
uses: actions/upload-artifact@v4
201+
uses: actions/upload-artifact@v6
195202
with:
196203
name: artifacts-${{ matrix.board }}${{ steps.slot_suffix.outputs.SLOT_SUFFIX }}
197204
path: artifacts
@@ -218,10 +225,10 @@ jobs:
218225

219226
steps:
220227
- name: Checkout
221-
uses: actions/checkout@v4
228+
uses: actions/checkout@v5
222229

223230
- name: Download artifacts
224-
uses: actions/download-artifact@v4
231+
uses: actions/download-artifact@v7
225232

226233
- name: Display artifacts
227234
run: ls -R
@@ -239,7 +246,7 @@ jobs:
239246
done
240247
241248
- name: Create release
242-
uses: softprops/action-gh-release@v2.2.2
249+
uses: softprops/action-gh-release@v3.0.0
243250
with:
244251
files: artifacts-*/*
245252

.github/workflows/stale-pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
stale:
1212
runs-on: ubuntu-24.04
1313
steps:
14-
- uses: actions/stale@v9
14+
- uses: actions/stale@v10
1515
with:
1616
stale-pr-message: 'This pull request has been marked as stale because it has been open (more than) 30 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 7 days. Note, that you can always re-open a closed pull request at any time.'
1717
days-before-pr-stale: 30

.github/workflows/test.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
outputs:
1818
should-test: ${{ github.event_name == 'push' || steps.filter.outputs.src == 'true' }}
1919
steps:
20-
- uses: dorny/paths-filter@v3
20+
- uses: dorny/paths-filter@v4
2121
if: github.event_name == 'pull_request'
2222
id: filter
2323
with:
@@ -47,7 +47,7 @@ jobs:
4747
run: git config --system --add safe.directory "${GITHUB_WORKSPACE}"
4848

4949
- name: Checkout
50-
uses: actions/checkout@v4
50+
uses: actions/checkout@v5
5151
with:
5252
fetch-depth: 0
5353
submodules: true
@@ -64,14 +64,14 @@ jobs:
6464
run: ./waf test
6565

6666
- name: Publish Test Report
67-
uses: mikepenz/action-junit-report@v5
67+
uses: mikepenz/action-junit-report@v6
6868
if: (!cancelled())
6969
with:
7070
report_paths: build/test/junit.xml
7171
annotate_only: true
7272

7373
- name: Store failed test images
74-
uses: actions/upload-artifact@v4
74+
uses: actions/upload-artifact@v6
7575
if: (!cancelled())
7676
with:
7777
name: failed_diff_images

0 commit comments

Comments
 (0)