Skip to content

ci: matrix test job on Linux + Windows#1262

Merged
stack72 merged 1 commit intomainfrom
ci/windows-test-matrix
Apr 30, 2026
Merged

ci: matrix test job on Linux + Windows#1262
stack72 merged 1 commit intomainfrom
ci/windows-test-matrix

Conversation

@stack72
Copy link
Copy Markdown
Contributor

@stack72 stack72 commented Apr 30, 2026

Summary

PR #1259 stabilized Windows in the test suite — the most recent on-demand Cross Platform Builds run had zero failures on Windows. This promotes Windows into the per-PR test job and removes the now-redundant standalone Cross Platform Builds workflow.

  • ci.yml test job becomes a [ubuntu-latest, windows-latest] matrix with fail-fast: false. Each platform runs lint, fmt, check, test, compile.
  • cross-platform-builds.yml is deleted. Linux proxies macOS test semantics (both POSIX); local dev is macOS so failures surface before CI; and release.yml already cross-compiles to x86_64-apple-darwin and aarch64-apple-darwin, so the standalone macOS compile-check has no remaining purpose.

⚠️ Branch protection follow-up

GitHub will expand the test job into per-OS check names. After this merges, branch protection's required checks need updating to:

  • Lint, Test, and Format Check (ubuntu-latest)
  • Lint, Test, and Format Check (windows-latest)

The current required check Lint, Test, and Format Check will no longer be reported by the matrix runs and should be removed.

Test plan

  • CI run on this PR exercises both matrix legs
  • After merge: branch protection updated to require both (ubuntu-latest) and (windows-latest) legs

🤖 Generated with Claude Code

…s workflow

PR #1259 stabilized Windows in the test suite (no failures on the
on-demand Cross Platform Builds workflow). This promotes Windows into
the per-PR test job so regressions are caught at PR time rather than
when someone manually triggers a release-time check.

Changes:

- `ci.yml` test job becomes a `[ubuntu-latest, windows-latest]` matrix
  with `fail-fast: false`. Each platform runs lint, fmt, check, test,
  and compile. Status check names will be expanded to
  `Lint, Test, and Format Check (ubuntu-latest)` and
  `Lint, Test, and Format Check (windows-latest)` — both will need to
  be added to branch protection's required checks.

- `cross-platform-builds.yml` is deleted. Linux now proxies macOS test
  semantics (both POSIX) and local dev is macOS so test breakage
  surfaces before CI. The macOS release compile is already handled by
  release.yml's cross-compile to x86_64-apple-darwin and
  aarch64-apple-darwin, making the standalone macOS compile-check
  redundant.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@stack72 stack72 force-pushed the ci/windows-test-matrix branch from 8ce2f49 to 14c1117 Compare April 30, 2026 21:57
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Code Review

Blocking Issues

None.

Suggestions

None — this is a clean, well-scoped CI change.

Summary: The matrix expansion is correctly structured (fail-fast: false, ${{ matrix.os }}), permissions remain minimal (contents: read), and downstream needs: dependencies will correctly gate on all matrix legs. The deleted cross-platform-builds.yml is fully subsumed by the new matrix plus release.yml's macOS cross-compile targets.

The branch protection follow-up noted in the PR description is the right call — required checks will need updating to the expanded names after merge.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

CI Security Review

Critical / High

None.

Medium

None.

Low

None.

Verdict

PASS — Security-neutral change. The diff adds a Windows runner to the existing test matrix (matrix.os sourced from a hardcoded list, not attacker-controlled) and deletes a redundant workflow_dispatch-only workflow. No new secrets, no new permissions, no expression injection vectors, no changes to LLM steps or auto-merge logic.

@stack72 stack72 merged commit eaa7c44 into main Apr 30, 2026
12 checks passed
@stack72 stack72 deleted the ci/windows-test-matrix branch April 30, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant