Skip to content

ci: split the Windows test job into unit and integration legs - #1938

Merged
developer0hye merged 1 commit into
mainfrom
ci/split-windows-test
Sep 28, 2026
Merged

developer0hye merged 1 commit into
mainfrom
ci/split-windows-test

Conversation

@developer0hye

Copy link
Copy Markdown
Owner

File submission policy

Before attaching or committing files, read the submission policy.

  • Any submitted sample files or attachments satisfy the submission policy, or none are submitted.

Summary

First of three follow-ups from a CI review with Codex. The current warm PR run takes 6.1 min. In that run (36325703306), Test (windows-latest) took 5.8 min: 1m34s to build, then ~3.2 min running test binaries one after another. The lib unit tests took 79.7s, xlsx_fixtures 64.8s and pptx_fixtures 33.6s.

Windows now runs as two parallel legs:

Leg Commands
units cargo test --workspace --profile ci --lib --bins, then --doc
integration cargo test --workspace --profile ci --test '*'
  • The quoted wildcard picks up integration targets added later.
  • cargo metadata confirms the partition covers every test target exactly once: 3 libraries plus the CLI binary, the 3 libraries' doctests, and 12 integration targets.
  • Linux and macOS keep one leg; plain cargo test also builds examples, so they stay covered there (none exist today).
  • Both Windows legs restore the existing test-ci-profile entry, so no cache budget is added.

Expected: slower Windows leg ~4-4.5 min (not yet measured; this PR's run shows it).

Related issue

Related: #1908

Testing

  • python3 -m unittest scripts.tests.test_dependency_lock_contract (5/5)
  • This PR's run records both legs' timings.

Visual impact

  • No rendered PDF change
  • Rendered PDF change or visual evidence added
  • Reason: CI configuration only.

🤖 Generated with Claude Code

Windows was the slowest Test leg at 5.8 min, 3.2 of it running the test
binaries one after another (lib 80s, xlsx 65s, pptx 34s). Its unit and
doctest targets and its integration targets now run as parallel legs;
the quoted --test '*' wildcard picks up integration targets added
later. Linux and macOS keep one leg, which also builds examples.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Yonghye Kwon <developer.0hye@gmail.com>
@developer0hye
developer0hye merged commit 49c117b into main Sep 28, 2026
22 checks passed
@developer0hye
developer0hye deleted the ci/split-windows-test branch September 28, 2026 13:25
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