ci: add capybara GitHub Pages deployment and PR comment#255
Merged
Conversation
Add four benchmark jobs to the build-push workflow that run inside the freshly-built eic_ci container to validate that container image changes do not silently alter physics output: - npsim-gun: particle gun simulation (pi, e × epic_craterlake) - npsim-dis: DIS simulation (5 beam/minQ2 combos × epic_craterlake) - eicrecon-gun: reconstruction of gun sim output - eicrecon-dis: reconstruction of DIS sim output All jobs run after eic-manifest using the pipeline-tagged eic_ci image, use a login shell (bash --login) to source profile.d detector setup, and upload artifacts for use in the follow-up capybara comparison PR. File matrix matches epic (not the larger EICrecon set). No caching. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The z21_epic_main.sh workaround uses eval to export only 4 env vars, missing LD_LIBRARY_PATH additions from thisepic.sh. This causes epic_FileLoader to not be found when npsim parses the compact XML. Explicitly source /opt/detector/epic-main/bin/thisepic.sh before running npsim and eicrecon in all four benchmark jobs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
For each of the four benchmark jobs (npsim-gun, npsim-dis, eicrecon-gun, eicrecon-dis), add after the artifact upload: 1. Download the previous artifact from the base branch using dawidd6/action-download-artifact@v20 2. Run 'capybara bara' to compare current output against the reference 3. Upload a .capy artifact containing the comparison reports Add a merge-capybara job that combines all *.capy artifacts into a single capybara-report artifact for easy consumption. This PR should be opened after the npsim/eicrecon benchmarks PR merges to master, so that the base-branch artifacts exist as reference. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the 'branches: [master]' filter from the pull_request trigger so that the benchmark jobs (including capybara comparisons) also fire on PRs targeting capybara or any other branch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
After merge-capybara assembles the capybara-report artifact, five new jobs integrate it into GitHub Pages and post a PR comment: - list-open-prs: reuse eic/actions to enumerate open PRs for staging - get-docs-from-open-prs: download capybara-report for each open PR (via dawidd6 for other PRs, actions/download-artifact for this PR) and stage under publishing_docs/pr/<N>/capybara/ - get-docs-from-main: download capybara-report from master branch and stage under publishing_docs/capybara/; generate index.md - build-artifacts-page: assemble docs/ + all staging content, upload pages artifact, generate capybara_<N>.md summary for the PR - deploy-artifacts-page: deploy to GitHub Pages (concurrency: pages), then find-or-create a PR comment with the capybara summary links Pages URL: https://eic.github.io/containers/ PR comment uses peter-evans/find-comment@v3 + peter-evans/create-or-update-comment@v4 to update in place. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds GitHub Pages publishing of the capybara report artifacts produced by this repo’s CI workflow, and posts/updates a PR comment with links to the published reports.
Changes:
- Add jobs to collect
capybara-reportartifacts from open PRs and frommaster, staging them under a Pages-ready directory structure. - Build and upload a GitHub Pages artifact combining
docs/with staged capybara content and generate a per-PR capybara summary markdown artifact. - Deploy to GitHub Pages and create/update a persistent PR comment pointing to the published capybara reports.
11 tasks
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.
After merge-capybara assembles the capybara-report artifact, five new jobs integrate it into GitHub Pages and post a PR comment:
Pages URL: https://eic.github.io/containers/
PR comment uses peter-evans/find-comment@v3 +
peter-evans/create-or-update-comment@v4 to update in place.