Skip to content

ci: add capybara GitHub Pages deployment and PR comment#255

Merged
wdconinc merged 6 commits intomasterfrom
capybara-pages
Apr 25, 2026
Merged

ci: add capybara GitHub Pages deployment and PR comment#255
wdconinc merged 6 commits intomasterfrom
capybara-pages

Conversation

@wdconinc
Copy link
Copy Markdown
Contributor

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//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_.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.

wdconinc and others added 5 commits April 23, 2026 18:07
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>
Copilot AI review requested due to automatic review settings April 24, 2026 01:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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-report artifacts from open PRs and from master, 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.

Comment thread .github/workflows/build-push.yml
Comment thread .github/workflows/build-push.yml
Comment thread .github/workflows/build-push.yml
Comment thread .github/workflows/build-push.yml
Comment thread .github/workflows/build-push.yml
Comment thread .github/workflows/build-push.yml
Comment thread .github/workflows/build-push.yml
Copy link
Copy Markdown
Member

@veprbl veprbl left a comment

Choose a reason for hiding this comment

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

All looks familiar

Base automatically changed from capybara-compare to capybara April 24, 2026 17:58
@wdconinc wdconinc changed the base branch from capybara to master April 25, 2026 15:25
@wdconinc wdconinc enabled auto-merge (squash) April 25, 2026 15:26
@wdconinc wdconinc merged commit 3efd159 into master Apr 25, 2026
81 checks passed
@wdconinc wdconinc deleted the capybara-pages branch April 25, 2026 20:59
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.

3 participants