Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: Install Node 22, restore npm cache, run npm ci
runs:
using: composite
steps:
- uses: actions/setup-node@v4
- uses: actions/setup-node@v7

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✓ Correct bump. setup-node@v7 declares using: node24 at this tag. Note that node-version: 22 on line 8 is intentional — the app's package.json#engines pins Node 22.22.1, and the composite action installs Node 22 for npm ci. The Node 24 only affects the runner side (the action's dist/setup/index.js), not the version installed for the app. No drift between runner-side (24) and app-side (22); the two are independent.

Recommend a one-line comment in this file (or in docs/github-actions-workflows.md) explaining the distinction so future maintainers don't "fix" the node-version: 22 to node-version: 24.

with:
node-version: 22
cache: npm
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/announce-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build-whisper-stt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup
Expand Down Expand Up @@ -138,7 +138,7 @@ jobs:
echo "CMAKE_PREFIX_PATH=${VCPKG_ROOT_DIR}/installed/x64-windows" >> "$GITHUB_ENV"

- name: Cache whisper.cpp build tree
uses: actions/cache@v4
uses: actions/cache@v6
with:
# Matches scripts/build-whisper-stt.sh's own BUILD_ROOT default for
# each OS (short `C:/wstbuild` on Windows to dodge the vulkan-shaders-gen
Expand Down Expand Up @@ -195,7 +195,7 @@ jobs:
echo "Staged ${BAG}.tar.gz"

- name: Upload binaries
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: whisper-stt-${{ matrix.tag }}
path: whisper-stt-${{ matrix.tag }}.tar.gz
Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
runs-on: windows-latest

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✓ Bump to actions/checkout@v7 is correct (uses node24 at this tag). The fetch-depth / repository / token inputs are all still supported. Verified that none of this repo's checkout calls use removed v4 inputs.

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup
Expand All @@ -53,7 +53,7 @@ jobs:
run: npm run build:win -- --publish never

- name: Upload Windows installer
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: openscreen-windows
path: release/**/Openscreen.Setup.*.exe
Expand All @@ -65,7 +65,7 @@ jobs:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup
Expand Down Expand Up @@ -139,7 +139,7 @@ jobs:
Write-Output "$($expected.Count) tile assets present in $($appx.Name), byte-identical to build/appx/"

- name: Upload Windows Store package
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: openscreen-windows-store
path: release/**/Openscreen.Setup.*.appx
Expand Down Expand Up @@ -167,13 +167,13 @@ jobs:
arch: ${{ fromJSON((github.event_name == 'workflow_dispatch' && github.event.inputs.arch != 'both') && format('["{0}"]', github.event.inputs.arch) || '["arm64", "x64"]') }}
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup

- name: Setup Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.11"

Expand Down Expand Up @@ -268,7 +268,7 @@ jobs:
# installed app, silently. `scripts/before-pack.cjs` now refuses to package
# that, so this is also what keeps the job from failing at the pack step.
- name: Cache LGPL ffmpeg tree
uses: actions/cache@v4
uses: actions/cache@v6
with:
# fetch-ffmpeg-macos.mjs BUILDS ffmpeg from source (~5 min): BtbN ships no
# macOS target and every circulating macOS build is GPL, which would
Expand All @@ -281,7 +281,7 @@ jobs:
run: npm run fetch:ffmpeg:mac

- name: Cache cargo + compositor build tree
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: |
~/.cargo/registry
Expand Down Expand Up @@ -477,7 +477,7 @@ jobs:
spctl -a -vv -t install "${{ steps.dmg.outputs.dmg_path }}"

- name: Upload macOS DMG
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: openscreen-mac-${{ matrix.arch }}
path: ${{ steps.dmg.outputs.dmg_path }}
Expand All @@ -493,7 +493,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup
Expand All @@ -517,7 +517,7 @@ jobs:
run: npm run build:linux -- --publish never

- name: Upload Linux packages
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: openscreen-linux
path: |
Expand All @@ -543,7 +543,7 @@ jobs:
if: ${{ (github.event_name == 'push' && github.ref_type == 'tag') || (github.event_name == 'workflow_dispatch' && github.event.inputs.release_tag != '') }}
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
# Full history + tags: the RC notes below are built from `git log` over the
# range since the previous RC tag, and resolving that tag needs the tags.
Expand Down Expand Up @@ -620,25 +620,25 @@ jobs:
echo "notes_start_tag=$NOTES_START_TAG" >> "$GITHUB_OUTPUT"

- name: Download Windows installer
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: openscreen-windows
path: artifacts/windows

- name: Download macOS arm64 DMG
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: openscreen-mac-arm64
path: artifacts/mac-arm64

- name: Download macOS x64 DMG
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: openscreen-mac-x64
path: artifacts/mac-x64

- name: Download Linux packages
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: openscreen-linux
path: artifacts/linux
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bump-nix-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
echo "branch=$BRANCH" >> "$GITHUB_OUTPUT"

- name: Checkout main
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
ref: main
fetch-depth: 0
Expand Down
26 changes: 13 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ jobs:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: ./.github/actions/setup
- run: npm run lint

typecheck:
name: Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: ./.github/actions/setup
- run: npx tsc --noEmit

Expand All @@ -48,7 +48,7 @@ jobs:
# fixing on the spot, fix the fixture anyway: re-introducing a baseline
# re-opens the drift this closed.
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: ./.github/actions/setup
- name: Typecheck tests
run: npx tsc -p tsconfig.test.json --noEmit
Expand All @@ -57,11 +57,11 @@ jobs:
name: Docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
# No ./.github/actions/setup: check-docs.mjs imports only node builtins,
# so npm ci would be a minute of install for nothing. Node 22 is here for
# import.meta.dirname (needs >= 20.11).
- uses: actions/setup-node@v4
- uses: actions/setup-node@v7
with:
node-version: 22
- run: npm run docs:check
Expand All @@ -70,15 +70,15 @@ jobs:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: ./.github/actions/setup
- run: npm run test

build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: ./.github/actions/setup
- run: npx vite build

Expand Down Expand Up @@ -122,7 +122,7 @@ jobs:
name: Rust test (macOS compositor)
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- name: Install Rust toolchain
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --target aarch64-apple-darwin
Expand Down Expand Up @@ -168,8 +168,8 @@ jobs:
name: Rust check (Windows compositor)
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version-file: .nvmrc
# bindgen needs libclang. `crates/.cargo/config.toml` pins LIBCLANG_PATH to
Expand Down Expand Up @@ -209,10 +209,10 @@ jobs:
name: Rust test (Linux compositor)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
# Pas de ./.github/actions/setup : `fetch-ffmpeg.mjs` n'importe que des
# builtins node, donc `npm ci` serait une minute d'installation pour rien.
- uses: actions/setup-node@v4
- uses: actions/setup-node@v7
with:
node-version-file: .nvmrc
# libclang-dev, pas libclang1 : bindgen a besoin de libclang pour lire les
Expand Down Expand Up @@ -269,7 +269,7 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: amannn/action-semantic-pull-request@v5
- uses: amannn/action-semantic-pull-request@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/diagnostic-artifact.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
name: Windows x64 diagnostic bundle

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actions/upload-artifact@v7 and actions/checkout@v7 are the right targets. The diagnostic bundle jobs run on windows-latest, macos-latest, macos-15-intel — bumping these also brings Node 24 to all three platforms' runners. The if-no-files-found, retention-days, and name inputs are still supported.

runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- uses: ./.github/actions/setup

Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
if ($LASTEXITCODE -ne 0) { throw "diagnostic.bat --help exited $LASTEXITCODE" }

- name: Upload Windows diagnostic bundle
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: openscreen-diagnostic-windows-x64
path: openscreen-diagnostic-windows-x64.zip
Expand All @@ -76,7 +76,7 @@ jobs:
matrix:
arch: [arm64, x64]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- uses: ./.github/actions/setup

Expand All @@ -101,7 +101,7 @@ jobs:
tar -czf "$bundle.tar.gz" "$bundle"

- name: Upload macOS diagnostic bundle
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: openscreen-diagnostic-macos-${{ matrix.arch }}
path: openscreen-diagnostic-macos-${{ matrix.arch }}.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/discord-pr-notify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/discord-roadmap-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/discord-weekly-leaderboard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Setup Node.js
uses: ./.github/actions/setup
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/merged-pr-bookkeeping.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update closing issues
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
const owner = context.repo.owner;
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nix-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
name: npmDepsHash matches package-lock.json
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7

- uses: cachix/install-nix-action@v27
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/promote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-homebrew-cask.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ jobs:
echo "x64_sha=$X64_SHA" >> "$GITHUB_OUTPUT"

- name: Checkout tap
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
repository: ${{ env.TAP_OWNER }}/${{ env.TAP_REPO }}
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
Expand Down
Loading