Repository navigation
Conversation
Tag the Pythia8 shell fences of 2-1-event-generation with invisible ci-fragment markers, run them in page order in one fresh shell, and validate the produced EDM4hep file with key4hep-validate. The runner fails when no tagged fragment is found, so it cannot pass vacuously. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UKgjg6FJ4R6Jbp3pdhqVQD
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UKgjg6FJ4R6Jbp3pdhqVQD
This branch has not been deployed
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.
What
Runs the Pythia8 shell commands of Getting Started with Event Generation exactly as written, then validates the EDM4hep file they produce. It runs in the existing CTest job, against both the release and nightly stacks.
<!-- ci-fragment: pythia8 -->markers (invisible when rendered) tag three fences: downloadingpythia.pyplus the dry run, downloading the card, and the 500-eventk4runcommand..github/scripts/run_fragments.pyruns the tagged fences in page order, in one freshbashshell inside an empty directory.cdand variables therefore carry over as they do for a reader. Each block is labelled with its line number in the page. The test fails if no tagged fence is found, so it cannot pass without running anything.[key4hep-validate](https://github.com/ianna/mcp-server-key4hep), pinned by commit. The check covers the event count, that every collection reads, and finite values and consistent parent/daughter links in MCParticles. The validator needs only the stack's Python, with no pip install.test.ymlusesctest --output-on-failureso a failing fragment's output appears in the log.Page fixes found by the test
Run on LXPLUS with the current release (
k4gen 0.1pre15), the unchanged page fails at the 500-event command:k4Gen's
options/pythia.pynow writes output throughIOSvc. This PR therefore:--out.filenamewith--IOSvc.Output p8_mumu_500.e4h.root;--dry-runoutput to the current algorithm chain (--> eventHeaderCreator --> Pythia8 --> HepMCToEDMConverter --> StableParticles).With these changes, the test passes on LXPLUS:
Other sections still use
--out.filename(the ditau and LHE examples). They are not tagged yet; tagging them would catch the same problem there.Related: notebook tests may execute nothing
With jupytext 1.19.6, every page I tried converts to a notebook with zero code cells: once jupytext reaches a MyST
:::{admonition}fence, it treats the rest of the page as markdown. The existingadd_nb_testtests may therefore pass without running anything. Please check against the jupytext version in the CI image. A guard that fails on an empty notebook could follow in a separate PR.🤖 Generated with [Claude Code](https://claude.com/claude-code)