Update CI action versions#6
Open
duducpp wants to merge 22 commits into
Open
Conversation
Motivation: keep GitHub-maintained CI actions on current major refs. Summary: - Update checkout to v6 across workflows - Update setup/cache/pages official actions to current major refs - Leave third-party action updates unstaged
Motivation: keep non-official CI actions on current compatible refs. Summary: - Update Docker action refs to latest major versions - Update uv, Clojure, Terraform, Julia, and Nix action refs - Preserve existing action configuration
Motivation: remove noisy CI annotations from the test workflow. Summary: - Force Node24 for remaining Node20 JavaScript actions - Disable setup-go module cache when no go.sum exists - Use explicit Windows image, RSPM packages, and Cabal 3.14
Motivation: provide a faster sharded CI path for language-server test coverage. Summary: - Add pytest-v2 workflow with OS and marker shards - Add reusable test-shard composite action for tool setup and caches - Add changed-language detection composite action and extractor
Motivation: keep pytest-v2 and composite action dependencies on current major refs. Summary: - Update checkout refs in pytest-v2 to v6 - Update setup and cache actions in test-shard to current majors - Use major alias for changed-files in detect-ls-changes
Motivation: make the composite test shard action load in GitHub Actions. Summary: - Replace unsupported concat expressions with format - Preserve token-matching behavior for shard tool checks - Fix validation failure in pytest-v2 shard jobs
- Motivation: fix failing pytest-v2 CI shards from run 25872349805 - Summary: route Nix tests to the shard with Nix installed and make Windows tool lookup explicit - Changes: - exclude nix-marked snapshot test from core shards - resolve opam/opam.exe through a helper before OCaml install and verification - resolve npm.cmd on Windows for Angular fixture dependency install
- Motivation: fix Windows data shard losing opam after R setup changes the Bash environment - Summary: persist the exact opam.exe path from setup-ocaml and reuse it in OCaml install checks - Changes: - export OPAM_EXE from a PowerShell step immediately after ocaml/setup-ocaml - prefer OPAM_EXE in the composite action opam helper - keep fallback discovery for hosted toolcache opam.exe paths
- Motivation: reduce duplicated CI setup and keep lint/type checks separate from shard execution - Summary: move shared Python setup into a local action and collapse OS test jobs into one matrix - Changes: - add reusable test-setup action for cache directories, Python, uv, and uv sync - remove shared setup, lint, and type-check steps from test-shard - run lint and type-check as dedicated jobs before the OS/shard test matrix - merge linux, windows, and macOS test jobs into a single matrix job
- Motivation: GitHub rejects the composite action when a large run block contains direct workflow expressions. - Summary: Move shard tool inputs into step env before shell execution. - Changes: - Add SHARD_TOOLS env for guarded shard tool installation. - Update has_group to read the shell env var instead of embedding the expression.
- Motivation: Windows data shard failed after OCaml setup hid Rscript, and CI emitted runner/action cache warnings. - Summary: Restore Windows R path and remove avoidable workflow warnings. - Changes: - Use windows-2025-vs2026 explicitly in the test matrix. - Force JavaScript actions to Node 24 for legacy setup-haxe. - Disable setup-uv cache save/restore because actions/cache owns the Python cache. - Re-add Rscript to PATH inside guarded shard setup on Windows.
- Delete test-shard composite action - Inline all shard steps directly into pytest-v2.yml matrix job - Update cache hashFiles keys to reference workflow file only
- Add ensure_windows_julia_path helper mirroring ensure_windows_rscript_path - Call it in install_julia_language_server and verify_tool_installs - Fixes: julia: command not found (exit code 127) on windows data shard
- Each install function is now its own step with an if: condition - Eliminates has_group() dispatch layer; GitHub if: expressions handle routing - Shared helpers (download_with_retry, run_opam, Windows path fixups) inlined per step - verify_ocaml_lsp, verify_lsp_paths, verify_fpc split into dedicated steps - compiled_cpp / compiled_apple groups used directly (no ambiguous compiled substring)
jvm-dotnet → jvm, compiled-cpp → systems, compiled-apple → apple, niche-beam → beam, niche-script → scripting
- Add GO_VERSION and GOPLS_VERSION env vars; use in setup-go and install - Fix gopls cache key from static "latest" to versioned key - Replace gopls@latest install with pinned @v${GOPLS_VERSION} - Extract has_group() to .github/scripts/has_group.sh; source in two steps - Source download_with_retry.sh and run_opam.sh where previously inlined - Replace format()-wrapped compiled conditions with plain contains() - Set per-shard timeout (60 min for data/systems, 45 for rest) - Rename "Setup pnpm" step to "Configure pnpm store" - Remove docker system prune (no Docker daemon on fresh runners) - Drop || true from ruby-lsp version check so failures surface
- Remove redundant UV_CACHE_DIR env from Install uv step (already in GITHUB_ENV) - Remove redundant UV_CACHE_DIR env from Install Python environment step - Remove stale rm -rf .uv-cache calls left over from local-cache approach
- test-setup action already exports UV_CACHE_DIR to GITHUB_ENV - Drop explicit env block from lint, type-check, and pytest steps
- Drop || true so broken installs surface instead of silently passing
…ble install - pnpm/action-setup: remove run_install: false (it is the default) - DeLaGuardo/setup-clojure: comment that numeric tags have no v prefix - Ansible: uv run pip install -> uv pip install (avoids deprecated path)
- Both scripts were sourced by workflow steps but never tracked in git - download_with_retry.sh: curl with 5-attempt retry and backoff - run_opam.sh: opam wrapper that handles Windows exe path resolution
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Keep CI actions on current compatible refs and reduce noisy workflow annotations before GitHub runner changes around Node.js 20 actions.
Summary
Update GitHub Actions refs and tune the test workflow annotation sources.
Changes
Impact
Notes
Untracked local markdown audit files are not included in this PR.
Testing