Skip to content

Commit 2547d69

Browse files
authored
Update GitHub Actions for Node.js 24 compatibility (#14199)
* Remove dead launcher composite action This composite action built the Rust launcher using deprecated actions-rs/toolchain@v1 and actions-rs/cargo@v1 (Node 16). It also had a YAML bug (duplicate `uses:` keys in one step). No workflow references it — the launcher build now happens directly in release scripts. * Update official GitHub Actions for Node.js 24 compatibility GitHub is deprecating Node.js 20 for Actions runners (forced Node.js 24 starting June 2, 2026). Bump all official actions to their latest Node.js 24-compatible versions: - actions/checkout v4 → v6 - actions/cache (+ /restore, /save) v4 → v5 - actions/upload-artifact v4 → v7 - actions/download-artifact v4 → v8 - actions/setup-node v4 → v6 - actions/stale v9 → v10 Also bump node-version 18 → 22 in create-release.yml (Node 18 EOL'd April 2025). * Update third-party GitHub Actions for Node.js 24 compatibility - astral-sh/setup-uv v3 → v7 - peter-evans/create-pull-request v7 → v8 - cloudsmith-io/cloudsmith-cli-action v1.0.8 → v2.0.2 * Bump Node.js 20 → 22 for Playwright/MECA in smoke tests Node 20 EOL is April 30, 2026.
1 parent 1f122b0 commit 2547d69

13 files changed

Lines changed: 58 additions & 78 deletions

.github/actions/cache-typst/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ runs:
4141

4242
- name: Cache Typst package folder
4343
id: cache-typst-restore
44-
uses: actions/cache/restore@v4
44+
uses: actions/cache/restore@v5
4545
with:
4646
path: ${{ env.TYPST_CACHE }}
4747
key: ${{ runner.os }}-typst-1

.github/workflows/actions/launcher/action.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.

.github/workflows/actions/quarto-dev/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ runs:
55
using: "composite"
66
steps:
77
- name: Cache deno std deps
8-
uses: actions/cache@v4
8+
uses: actions/cache@v5
99
with:
1010
path: ./src/resources/deno_std/cache
1111
key: ${{ runner.os }}-deno_std-2-${{ hashFiles('./src/resources/deno_std/deno_std.lock', './package/scripts/deno_std/deno_std.ts') }}
1212
restore-keys: |
1313
${{ runner.os }}-deno_std-2-
1414
1515
- name: Cache Cargo dependencies
16-
uses: actions/cache@v4
16+
uses: actions/cache@v5
1717
with:
1818
path: |
1919
~/.cargo/registry

.github/workflows/create-release.yml

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
tag_pushed: ${{ steps.version_commit.outputs.tag_pushed }}
3636
if: github.event_name != 'schedule' || (github.event_name == 'schedule' && github.repository == 'quarto-dev/quarto-cli')
3737
steps:
38-
- uses: actions/checkout@v4
38+
- uses: actions/checkout@v6
3939
with:
4040
fetch-depth: 0
4141

@@ -44,9 +44,9 @@ jobs:
4444
uses: ./.github/workflows/actions/prevent-rerun
4545

4646
# we _also_ need npm, specifically for webui/preview
47-
- uses: actions/setup-node@v4
47+
- uses: actions/setup-node@v6
4848
with:
49-
node-version: 18
49+
node-version: 22
5050

5151
- name: Get previous version
5252
id: read-version
@@ -78,7 +78,7 @@ jobs:
7878
# echo -e "Due to an issue with upstream dependency, the RHEL build may not included in this release." >> "release_note.md"
7979
8080
- name: Upload Artifact
81-
uses: actions/upload-artifact@v4
81+
uses: actions/upload-artifact@v7
8282
with:
8383
name: News
8484
path: |
@@ -103,7 +103,7 @@ jobs:
103103
runs-on: ubuntu-latest
104104
needs: [configure]
105105
steps:
106-
- uses: actions/checkout@v4
106+
- uses: actions/checkout@v6
107107
with:
108108
ref: ${{ needs.configure.outputs.version_commit }}
109109

@@ -116,7 +116,7 @@ jobs:
116116
tar --owner=root --group=root -zcvf quarto-${{needs.configure.outputs.version}}.tar.gz *
117117
118118
- name: Upload Artifact
119-
uses: actions/upload-artifact@v4
119+
uses: actions/upload-artifact@v7
120120
with:
121121
name: Source
122122
path: ./quarto-${{needs.configure.outputs.version}}.tar.gz
@@ -125,7 +125,7 @@ jobs:
125125
runs-on: ubuntu-latest
126126
needs: [configure]
127127
steps:
128-
- uses: actions/checkout@v4
128+
- uses: actions/checkout@v6
129129
with:
130130
ref: ${{ needs.configure.outputs.version_commit }}
131131

@@ -153,7 +153,7 @@ jobs:
153153
popd
154154
155155
- name: Upload Artifact
156-
uses: actions/upload-artifact@v4
156+
uses: actions/upload-artifact@v7
157157
with:
158158
name: Deb Zip
159159
path: ./package/quarto-${{needs.configure.outputs.version}}-linux-amd64.tar.gz
@@ -162,7 +162,7 @@ jobs:
162162
runs-on: ubuntu-latest
163163
needs: [configure]
164164
steps:
165-
- uses: actions/checkout@v4
165+
- uses: actions/checkout@v6
166166
with:
167167
ref: ${{ needs.configure.outputs.version_commit }}
168168

@@ -190,7 +190,7 @@ jobs:
190190
popd
191191
192192
- name: Upload Artifact
193-
uses: actions/upload-artifact@v4
193+
uses: actions/upload-artifact@v7
194194
with:
195195
name: Deb Arm64 Zip
196196
path: ./package/quarto-${{needs.configure.outputs.version}}-linux-arm64.tar.gz
@@ -201,7 +201,7 @@ jobs:
201201
if: false
202202
needs: [configure]
203203
steps:
204-
- uses: actions/checkout@v4
204+
- uses: actions/checkout@v6
205205
with:
206206
ref: ${{ needs.configure.outputs.version_commit }}
207207

@@ -240,7 +240,7 @@ jobs:
240240
popd
241241
242242
- name: Upload Artifact
243-
uses: actions/upload-artifact@v4
243+
uses: actions/upload-artifact@v7
244244
with:
245245
name: RHEL Zip
246246
path: ./package/quarto-${{needs.configure.outputs.version}}-linux-rhel7-amd64.tar.gz
@@ -253,7 +253,7 @@ jobs:
253253
arch: [x86_64, aarch64]
254254
format: [deb, rpm]
255255
steps:
256-
- uses: actions/checkout@v4
256+
- uses: actions/checkout@v6
257257
with:
258258
ref: ${{ needs.configure.outputs.version_commit }}
259259

@@ -302,7 +302,7 @@ jobs:
302302
fi
303303
304304
- name: Upload Artifact
305-
uses: actions/upload-artifact@v4
305+
uses: actions/upload-artifact@v7
306306
with:
307307
name: Linux-${{ matrix.format }}-${{ matrix.arch }}-Installer
308308
path: ./package/out/quarto-${{needs.configure.outputs.version}}-linux-${{ steps.pkg_arch.outputs.arch_name }}.${{ matrix.format }}
@@ -311,7 +311,7 @@ jobs:
311311
runs-on: ubuntu-latest
312312
needs: [configure, make-tarball]
313313
steps:
314-
- uses: actions/checkout@v4
314+
- uses: actions/checkout@v6
315315
with:
316316
ref: ${{ needs.configure.outputs.version_commit }}
317317
sparse-checkout: |
@@ -321,7 +321,7 @@ jobs:
321321
if: ${{ inputs.publish-release }}
322322
uses: ./.github/workflows/actions/prevent-rerun
323323

324-
- uses: actions/download-artifact@v4
324+
- uses: actions/download-artifact@v8
325325
with:
326326
name: Deb Zip
327327
path: .
@@ -352,7 +352,7 @@ jobs:
352352
needs: [configure]
353353

354354
steps:
355-
- uses: actions/checkout@v4
355+
- uses: actions/checkout@v6
356356
with:
357357
ref: ${{ needs.configure.outputs.version_commit }}
358358

@@ -417,13 +417,13 @@ jobs:
417417
CERT_FINGERPRINT: ${{ secrets.SM_CLIENT_CERT_FINGERPRINT }}
418418

419419
- name: Upload Artifact
420-
uses: actions/upload-artifact@v4
420+
uses: actions/upload-artifact@v7
421421
with:
422422
name: Windows Installer
423423
path: ./package/out/quarto-${{needs.configure.outputs.version}}-win.msi
424424

425425
- name: Upload Zip
426-
uses: actions/upload-artifact@v4
426+
uses: actions/upload-artifact@v7
427427
with:
428428
name: Windows Zip
429429
path: ./package/out/quarto-${{needs.configure.outputs.version}}-win.zip
@@ -432,7 +432,7 @@ jobs:
432432
runs-on: windows-latest
433433
needs: [configure, make-installer-win]
434434
steps:
435-
- uses: actions/checkout@v4
435+
- uses: actions/checkout@v6
436436
with:
437437
ref: ${{ needs.configure.outputs.version_commit }}
438438
sparse-checkout: |
@@ -443,7 +443,7 @@ jobs:
443443
uses: ./.github/workflows/actions/prevent-rerun
444444

445445
- name: "Download Windows Zip"
446-
uses: actions/download-artifact@v4
446+
uses: actions/download-artifact@v8
447447
with:
448448
name: Windows Zip
449449
path: .
@@ -480,7 +480,7 @@ jobs:
480480
runs-on: macos-latest
481481
needs: [configure]
482482
steps:
483-
- uses: actions/checkout@v4
483+
- uses: actions/checkout@v6
484484
with:
485485
ref: ${{ needs.configure.outputs.version_commit }}
486486

@@ -529,13 +529,13 @@ jobs:
529529
QUARTO_APPLE_CONNECT_PW: ${{ secrets.APPLE_CONNECT_PW }}
530530

531531
- name: Upload Artifact
532-
uses: actions/upload-artifact@v4
532+
uses: actions/upload-artifact@v7
533533
with:
534534
name: Mac Installer
535535
path: ./package/out/quarto-${{needs.configure.outputs.version}}-macos.pkg
536536

537537
- name: Upload Zip
538-
uses: actions/upload-artifact@v4
538+
uses: actions/upload-artifact@v7
539539
with:
540540
name: Mac Zip
541541
path: ./package/out/quarto-${{needs.configure.outputs.version}}-macos.tar.gz
@@ -549,7 +549,7 @@ jobs:
549549
runs-on: macos-latest
550550
needs: [configure, make-installer-mac]
551551
steps:
552-
- uses: actions/checkout@v4
552+
- uses: actions/checkout@v6
553553
with:
554554
ref: ${{ needs.configure.outputs.version_commit }}
555555
sparse-checkout: |
@@ -559,7 +559,7 @@ jobs:
559559
if: ${{ inputs.publish-release }}
560560
uses: ./.github/workflows/actions/prevent-rerun
561561

562-
- uses: actions/download-artifact@v4
562+
- uses: actions/download-artifact@v8
563563
with:
564564
name: Mac Zip
565565
path: .
@@ -603,7 +603,7 @@ jobs:
603603
]
604604

605605
steps:
606-
- uses: actions/checkout@v4
606+
- uses: actions/checkout@v6
607607
with:
608608
ref: ${{ needs.configure.outputs.version_commit }}
609609
path: quarto-cli
@@ -615,7 +615,7 @@ jobs:
615615
uses: ./quarto-cli/.github/workflows/actions/prevent-rerun
616616

617617
- name: Download Artifacts
618-
uses: actions/download-artifact@v4
618+
uses: actions/download-artifact@v8
619619

620620
- name: Rename news
621621
run: |
@@ -723,7 +723,7 @@ jobs:
723723
]
724724
runs-on: ubuntu-latest
725725
steps:
726-
- uses: actions/checkout@v4
726+
- uses: actions/checkout@v6
727727

728728
- name: Prevent Re-run
729729
if: ${{ inputs.publish-release }}
@@ -751,7 +751,7 @@ jobs:
751751
runs-on: ubuntu-latest
752752
needs: [configure, publish-release]
753753
steps:
754-
- uses: actions/checkout@v4
754+
- uses: actions/checkout@v6
755755
with:
756756
sparse-checkout: |
757757
.github
@@ -761,7 +761,7 @@ jobs:
761761
uses: ./.github/workflows/actions/prevent-rerun
762762

763763
- name: Download Artifacts
764-
uses: actions/download-artifact@v4
764+
uses: actions/download-artifact@v8
765765

766766
- uses: ./.github/actions/docker
767767
with:

.github/workflows/performance-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
if: github.event_name != 'schedule' || (github.event_name == 'schedule' && github.repository == 'quarto-dev/quarto-cli')
1717
steps:
1818
- name: Checkout Repo
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v6
2020
with:
2121
# checkout full tree
2222
fetch-depth: 0

.github/workflows/publish-cloudsmith.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
version: ${{ steps.resolve.outputs.version }}
3737
is_prerelease: ${{ steps.resolve.outputs.is_prerelease }}
3838
steps:
39-
- uses: actions/checkout@v4
39+
- uses: actions/checkout@v6
4040
with:
4141
sparse-checkout: |
4242
.github
@@ -175,7 +175,7 @@ jobs:
175175
GH_REPO: quarto-dev/quarto-cli
176176

177177
- name: Install and authenticate Cloudsmith CLI
178-
uses: cloudsmith-io/cloudsmith-cli-action@v1.0.8
178+
uses: cloudsmith-io/cloudsmith-cli-action@v2.0.2
179179
with:
180180
api-key: ${{ secrets.CLOUDSMITH_API_KEY }}
181181

.github/workflows/stale-needs-repro.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ubuntu-latest
1313
if: github.event_name != 'schedule' || (github.event_name == 'schedule' && github.repository == 'quarto-dev/quarto-cli')
1414
steps:
15-
- uses: actions/stale@v9
15+
- uses: actions/stale@v10
1616
with:
1717
start-date: 2023-01-01T01:00:00Z
1818
stale-issue-label: "stale"

.github/workflows/test-bundle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
if: github.event_name != 'schedule' || (github.event_name == 'schedule' && github.repository == 'quarto-dev/quarto-cli')
1717
steps:
1818
- name: Checkout Repo
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v6
2020
with:
2121
# checkout full tree
2222
fetch-depth: 0

.github/workflows/test-quarto-latexmk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- { os: ubuntu-latest }
2323

2424
steps:
25-
- uses: actions/checkout@v4
25+
- uses: actions/checkout@v6
2626
with:
2727
fetch-depth: 0
2828

@@ -55,7 +55,7 @@ jobs:
5555
../dist/bin/tinitex/x86_64-unknown-linux-gnu/tinitex --help
5656
5757
- name: Upload binary
58-
uses: actions/upload-artifact@v4
58+
uses: actions/upload-artifact@v7
5959
with:
6060
name: tinitex-${{ matrix.config.os }}
6161
path: |

.github/workflows/test-smokes-parallel.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
BUCKETS: ${{ steps.tests-buckets.outputs.BUCKETS }}
5454
steps:
5555
- name: Checkout Repo
56-
uses: actions/checkout@v4
56+
uses: actions/checkout@v6
5757

5858
- name: Set up Quarto
5959
uses: quarto-dev/quarto-actions/setup@v2

0 commit comments

Comments
 (0)