Skip to content

ci: publish the test reports to pages.flisk.si on pushes to main - #3028

Closed
odykyi wants to merge 1 commit into
Parcels-code:mainfrom
odykyi:pages-test-reports
Closed

odykyi wants to merge 1 commit into
Parcels-code:mainfrom
odykyi:pages-test-reports

Conversation

@odykyi

@odykyi odykyi commented Nov 1, 2026

Copy link
Copy Markdown

Description

Adds one CI job that publishes the pytest-html reports the test jobs already upload as a page, https://pages.flisk.si/@parcels-code/test-reports/, so a report can be read in the browser without downloading and unzipping an artifact. It is an option: no existing job is changed.

  • Runs only on pushes to main; it is skipped on pull_request (checked on a fork, see below).
  • Needs only id-token: write, on that job. pages.flisk.si checks the run's OIDC token to know the repository, so there is no secret.
  • It downloads the report artifacts the unit, flaky and validation jobs upload (pattern: "* report *") and runs none of this repository's code.
  • flisk-sh/pages and actions/download-artifact are pinned by SHA. continue-on-error: true on the publish step, so an outage of pages.flisk.si never turns main red.
  • The page is an index of the 8 reports: each is the self-contained HTML as the artifact has it.

Proof on my fork (a full CI run on main, with one deliberately failing test that is not part of this PR): https://github.com/odykyi/Parcels/actions/runs/41311255247. The job passed ("Checked and committed as version 3", "Live now"), your zizmor job passed with the new job in it, and the page shows the failing test. A pull request on the fork skipped the job: https://github.com/odykyi/Parcels/actions/runs/41309431699. Full evidence with screenshots and raw logs is in the first comment below.

Checklist

  • Closes #xxxx (no issue: a small CI addition; happy to open one if you prefer)
  • Tests added (CI change only, nothing to unit test; proven by a run on a fork)
  • This PR targets the correct branch (main for normal development, v3-support for v3 support)

AI Disclosure

  • This PR contains AI-generated content.
    • I have tested any AI-generated content in my PR.
    • I take responsibility for any AI-generated content in my PR.
    • Describe how you used it: the change was prepared with Claude Code (Anthropic's coding agent), driven by me. I read the diff, ran it for real on a fork, and checked the published pages in a browser.

I work on Flisk / pages.flisk.si, so I have an interest in this. It is a small, opt-in change; close it if you'd rather not.

Not verified: the job has not run in Parcels-code/Parcels itself, so @parcels-code/test-reports is untested; behaviour when many projects publish at once (the site's deploy takes minutes under load, the job waits up to 10 minutes then only warns); a failed run that never uploads a report would fail the new job too (the same red run, one more red job).

[This is Claude Code on behalf of odykyi]

🤖 Generated with Claude Code

A new job reads the report artifacts the test jobs already upload and publishes
them as one page, https://pages.flisk.si/@parcels-code/test-reports/, so they can
be read without downloading a zip. It runs on pushes to main only, needs only
id-token: write (no secret), and runs none of this repository's code.

Signed-off-by: odykyi <odykyi@users.noreply.github.com>
@odykyi

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants