Skip to content

ci: deploy docs and coverage via GitHub Pages pipeline - #286

Draft
JuroUhlar wants to merge 1 commit into
mainfrom
uhlar/trusting-lovelace-r1vw4y
Draft

ci: deploy docs and coverage via GitHub Pages pipeline#286
JuroUhlar wants to merge 1 commit into
mainfrom
uhlar/trusting-lovelace-r1vw4y

Conversation

@JuroUhlar

Copy link
Copy Markdown
Contributor

Problem

The Generate docs and coverage report workflow has been failing on main (run 34493565515).

The shared dx-team-toolkit/docs-and-coverage.yml workflow publishes by pushing a commit to the gh-pages branch with JamesIves/github-pages-deploy-action. That commit is unsigned, and a repository ruleset now requires verified signatures on gh-pages, so the push is rejected:

remote: error: GH013: Repository rule violations found for refs/heads/gh-pages.
remote: - Commits must have verified signatures.

Build, tests, and docs generation all passed — only the deploy step failed.

Change

Replace the reusable workflow call with a local job that runs the same steps (pnpm install → build → docs → coverage → badges → assemble gh-pages/), then publishes through the official Pages pipeline:

  • actions/configure-pages@v6
  • actions/upload-pages-artifact@v5
  • actions/deploy-pages@v5

This uploads an artifact rather than pushing a branch commit, so the signature rule no longer applies. Also adds the pages: write / id-token: write permissions, a pages concurrency group, and the github-pages environment that the Pages deployment needs.

Required manual step ⚠️

The repository Pages source must be switched from Deploy from a branch (gh-pages) to GitHub Actions under Settings → Pages → Build and deployment → Source. deploy-pages fails without it.

Once the first deploy is green the gh-pages branch is no longer used and can be deleted.

Verification

Ran the pipeline steps locally on this branch:

  • pnpm build — ok
  • pnpm run docs — html generated at ./docs
  • pnpm test:coverage — 130/130 tests pass, coverage/lcov-report and coverage/coverage-summary.json produced
  • the mv docs/* ./gh-pages + mv coverage/lcov-report ./gh-pages/coverage assembly produces the expected tree

Workflow YAML parses, and every action version referenced was confirmed to exist upstream.

Alternatives considered

Excluding gh-pages from the signed-commits ruleset, or adding a GitHub Actions bypass entry, would also fix the failure with a smaller diff. This approach was chosen instead because it removes the branch push entirely and keeps the ruleset intact.

Note this stops the repo from tracking the shared toolkit workflow, so future improvements there will need to be ported manually.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CVQ7VL2PnxZcxTU4AZt43h


Generated by Claude Code

The shared docs-and-coverage workflow publishes by pushing a commit to
the gh-pages branch with JamesIves/github-pages-deploy-action. That
commit is unsigned, so the repository ruleset requiring verified
signatures on gh-pages rejects the push and the job fails.

Replace the reusable workflow call with a local job that runs the same
build, docs, coverage and badge steps, then publishes through the
official Pages pipeline (configure-pages, upload-pages-artifact,
deploy-pages). This uploads an artifact instead of pushing a branch
commit, so the signature rule no longer applies.

Requires the repository Pages source to be set to "GitHub Actions".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVQ7VL2PnxZcxTU4AZt43h
@JuroUhlar
JuroUhlar requested a lite review from Copilot September 11, 2026 13:59
@changeset-bot

changeset-bot Bot commented Sep 11, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 9e52c21

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ This PR doesn't contain any changesets. If there are user-facing changes, don't forget to run:

pnpm exec changeset

to create a changeset.

@github-actions

Copy link
Copy Markdown
Contributor

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 98.21% 165/168
🟢 Branches 97.03% 98/101
🟢 Functions 100% 35/35
🟢 Lines 98.19% 163/166

Test suite run success

130 tests passing in 30 suites.

Report generated by 🧪jest coverage report action from 9e52c21

Show full coverage report
St File % Stmts % Branch % Funcs % Lines Uncovered Line #s
🟢 All files 98.21 97.02 100 98.19
🟢  src 98.5 98.76 100 98.49
🔴   ...edApiTypes.ts 0 0 0 0
🔴   index.ts 0 0 0 0
🟢   sealedResults.ts 100 100 100 100
🟢   ...rApiClient.ts 96.15 97.22 100 96.15 358,362
🟢   types.ts 100 100 100 100
🟢   urlUtils.ts 100 100 100 100
🟢   webhook.ts 100 100 100 100
🟢  src/errors 97.05 90 100 96.96
🟢   apiErrors.ts 100 100 100 100
🟢   ...orResponse.ts 100 100 100 100
🟢   toError.ts 87.5 88.88 100 87.5 21
🟢   unsealError.ts 100 50 100 100 10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No unresolved blocking issues were identified.

Pull request overview

Replaces branch-based docs and coverage publishing with GitHub Pages artifact deployment.

Changes:

  • Runs build, docs, coverage, and badge generation locally.
  • Uploads and deploys the assembled site via GitHub Pages.
  • Adds required permissions, environment, and concurrency settings.
File summaries
File Description
.github/workflows/coverage-report.yml Implements the docs, coverage, and GitHub Pages deployment pipeline.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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