diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a727da0..aa76a4a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -218,6 +218,16 @@ jobs: needs: resolve runs-on: ubuntu-22.04 if: ${{ vars.ENABLE_SNAP != 'false' }} + # TEMP: snapcore/action-build and snapcore/action-publish still ship a + # `node20` runner (upstream PR snapcore/action-build#1 / action-publish#1 + # opened 2026-04-05 not merged). GitHub deprecated Node.js 20 actions and + # will force them to Node.js 24 from 2026-06-16; the Node.js 20 runtime + # is removed 2026-09-16. This env var opts these JS actions into the + # Node.js 24 shim early so we keep working through the transition. + # Remove once snapcore publishes a Node.js 24 release and we bump the + # pinned SHAs below. + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: @@ -225,6 +235,7 @@ jobs: - name: Build snap id: build + # v1.3.0 — still node20 upstream; runs on node24 via env var above. uses: snapcore/action-build@3bdaa03e1ba6bf59a65f84a751d943d549a54e79 # v1 env: SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} @@ -233,6 +244,7 @@ jobs: if: env.SNAPCRAFT_STORE_CREDENTIALS != '' env: SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + # v1.2.0 — still node20 upstream; runs on node24 via env var above. uses: snapcore/action-publish@214b86e5ca036ead1668c79afb81e550e6c54d40 # v1 with: snap: ${{ steps.build.outputs.snap }}