Skip to content

ci: Swift 6.2/6.3 matrix, GitHub Actions node24, Xcode 26.4 - #1

Merged
Sweefties merged 1 commit into
mainfrom
chore/ci-swift-matrix-node24
May 16, 2026
Merged

Sweefties merged 1 commit into
mainfrom
chore/ci-swift-matrix-node24

Conversation

@Sweefties

Copy link
Copy Markdown
Member

Summary

  • Add CI build/test matrix covering Swift 6.2 (Xcode 26.2) and Swift 6.3 (Xcode 26.4) on macOS and Linux
  • Bump all GitHub Actions to node24 runtime minimum: actions/checkout v5, codecov-action v6, upload-artifact v6, download-artifact v7, upload-pages-artifact v4, deploy-pages v5, softprops/action-gh-release v3
  • Restrict Codecov coverage upload to the Swift 6.2 matrix slot to avoid duplicate reports
  • Bump Xcode to 26.4 in docc-deploy and release workflows
  • Bump Linux release container from swift:6.2 to swift:6.3

Motivation

  • GitHub is deprecating node20 runtime for Actions — all actions must migrate to node24
  • Swift 6.3 (Xcode 26.4) is the current stable toolchain and should be validated in CI alongside the existing 6.2 baseline
  • Aligns with the CI modernization pattern applied across all Atelier Socle repos

Node24 migration details

Action From To runs.using
actions/checkout v4 v5 node24
actions/upload-artifact v4 v6 node24
actions/download-artifact v4 v7 node24
codecov/codecov-action v5 v6 composite → github-script@v8 (node24)
actions/upload-pages-artifact v3 v4 composite → upload-artifact@v4.6.2 (node20*)
actions/deploy-pages v4 v5 node24
softprops/action-gh-release v2 v3 node24

*upload-pages-artifact@v4 still embeds upload-artifact@v4 internally — best available version, fix depends on GitHub.

Notes

  • Job names macOS (Swift 6.2) and Linux (Swift 6.2) are unchanged — no branch protection update needed for those
  • New checks macOS (Swift 6.3) and Linux (Swift 6.3) can optionally be added as required status checks
  • release.yml is only triggered on tag push and cannot be validated by this PR's CI run

Test plan

  • CI passes on this PR (lint + build-and-test matrix + platform-builds + linux matrix)
  • Codecov report uploads correctly (single report from Swift 6.2 slot)
  • Swift 6.3 slot builds and tests without regression

- Add build/test matrix for Swift 6.2 (Xcode 26.2) and Swift 6.3 (Xcode 26.4) on macOS and Linux
  - Codecov coverage upload restricted to Swift 6.2 slot only
  - Bump all GitHub Actions to node24 runtime: actions/checkout v5, codecov-action v6, upload-artifact v6, download-artifact v7, upload-pages-artifact v4, deploy-pages v5, action-gh-release v3
  - Bump Xcode to 26.4 in docc-deploy and release workflows
  - Bump Linux release container to swift:6.3
@Sweefties Sweefties self-assigned this May 16, 2026
@Sweefties Sweefties added the enhancement New feature or request label May 16, 2026
@codecov

codecov Bot commented May 16, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@Sweefties
Sweefties merged commit f3e4486 into main May 16, 2026
11 checks passed
@Sweefties
Sweefties deleted the chore/ci-swift-matrix-node24 branch May 16, 2026 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant