Skip to content

ci: run the new-grammar-engine unit tests in parallel (Jenkins) (#467)#488

Open
SJrX wants to merge 1 commit into
issue-345-18from
issue-345-19
Open

ci: run the new-grammar-engine unit tests in parallel (Jenkins) (#467)#488
SJrX wants to merge 1 commit into
issue-345-18from
issue-345-19

Conversation

@SJrX

@SJrX SJrX commented Jun 23, 2026

Copy link
Copy Markdown
Owner

What

Makes the Jenkins pipeline run the unit suite against both validation engines, in parallel. The "Build" stage previously only tested the original engine (via the build task); now it's a parallel block (mirroring the existing Assemble Metadata stage):

  • Build & Publish — the original branch: build + test (original engine) + tag/publish.
  • Unit Tests (new grammar engine) — a lean branch in its own Kubernetes pod running ./gradlew … test -Dsystemd.unit.grammarParseEngine=true.

Separate pods ⇒ separate workspaces ⇒ no build/ clobbering, and the two runs are genuinely concurrent (not sequential).

Stacked on #487 (issue-345-18), which added FORCE_PARSE_ENGINE and the GitHub Actions matrix. (GitHub Actions matrix legs already run as parallel jobs, so that one's fine; this fixes the Jenkins side you actually rely on.)

Notes

  • The new branch doesn't tag/publish and doesn't need the publish/SSH credentials; it does the same unstash of the generated metadata so it can compile, and drops -PbuildScan (no scan/auth needed for the parity run).
  • Brace balance verified; structure matches the existing parallel { stage{agent…} stage{agent…} } pattern in this file. The publish branch's inner indentation is left unchanged to avoid risky reformatting.

Refs #467

🤖 Generated with Claude Code

The Jenkins "Build" stage only ran tests on the original engine (via `build`). Wrap it
in a parallel block (mirroring the Assemble Metadata stage): one branch builds, tests
(original engine) and publishes; a second branch runs the unit tests against the new
list-of-successes engine (-Dsystemd.unit.grammarParseEngine=true) in its own Kubernetes
pod, so the two engine runs are genuinely parallel with no shared workspace.

Refs #467

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Unit Test Results (grammar engine false)

1 159 tests  ±0   1 159 ✅ ±0   50s ⏱️ ±0s
  308 suites ±0       0 💤 ±0 
  308 files   ±0       0 ❌ ±0 

Results for commit 3002e15. ± Comparison against base commit 5b746be.

@github-actions

Copy link
Copy Markdown

Unit Test Results (grammar engine true)

1 159 tests  ±0   1 159 ✅ ±0   48s ⏱️ -1s
  308 suites ±0       0 💤 ±0 
  308 files   ±0       0 ❌ ±0 

Results for commit 3002e15. ± Comparison against base commit 5b746be.

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