mirror of
https://github.com/Donkie/Spoolman.git
synced 2026-10-22 18:12:18 -05:00
Every workflow pinned node-version '20'. Node 20 reached end-of-life on 2026-04-30, so for three months CI has been building the artifacts that go into released images on a runtime that no longer gets security fixes. Vite 8 also floors at ^20.19, which setup-node's '20' happens to satisfy today only because it resolves to the latest 20.x -- a floor we were clearing by accident is not one worth keeping. 24 rather than 22: it is Active LTS until 2026-10-20 and supported through 2028-04-30, so this pin outlives the 22 line by a year. Node 26 does not ship until October. The legacy client declared engines "20.x", which would have made every npm ci in that package print EBADENGINE against the new runner. It is widened to the floor of the Vite 7 it already runs on, so it now describes what the package actually supports instead of naming a single line. Verified locally on Node 24.13.0: lefthook ci green, both clients install clean and build, client_v2's unit tests and the tests_frontend_v2 Playwright suite pass. tests_frontend needs the built image so it is left to CI; its only dependency declares node >=18. The setup-node pin itself is untouched and still on v4.0.3, whose action runtime is the other deprecated Node 20 in the logs -- GitHub already force-runs it on 24. That is an action upgrade, and a separate change.
54 lines
1.2 KiB
YAML
54 lines
1.2 KiB
YAML
name: Release Trigger
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
bump:
|
|
type: choice
|
|
description: Version to bump
|
|
required: true
|
|
default: minor
|
|
options:
|
|
- micro
|
|
- minor
|
|
- major
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
bump-version:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
token: ${{ secrets.PAT }}
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v7
|
|
with:
|
|
version: "0.9.26"
|
|
|
|
- name: "Set up Python"
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version-file: "pyproject.toml"
|
|
|
|
- name: Install node
|
|
uses: actions/setup-node@v4.0.3
|
|
with:
|
|
node-version: '24'
|
|
|
|
- name: Bump version
|
|
run: |
|
|
git config --global user.name "${GITHUB_ACTOR}"
|
|
git config --global user.email "${GITHUB_ACTOR_ID}+${GITHUB_ACTOR}@users.noreply.github.com"
|
|
uv run poe bump ${{ github.event.inputs.bump }}
|
|
|
|
- name: Push
|
|
run: |
|
|
latest_tag=$(git describe --tags --abbrev=0)
|
|
echo "Pushing branch master and tag $latest_tag"
|
|
git push --atomic origin master $latest_tag
|