Skip to content

ci: SHA-pin GitHub Actions (normalize to canonical SHAs)#52

Closed
KooshaPari wants to merge 7 commits into
mainfrom
chore/pin-github-actions-shas
Closed

ci: SHA-pin GitHub Actions (normalize to canonical SHAs)#52
KooshaPari wants to merge 7 commits into
mainfrom
chore/pin-github-actions-shas

Conversation

@KooshaPari
Copy link
Copy Markdown
Owner

@KooshaPari KooshaPari commented May 2, 2026

User description

Pin all action refs to immutable SHAs across workflow files.

🤖 Generated with Claude Code

Note

Medium Risk
Adds a new GitHub Pages deployment workflow (with pages/id-token write permissions) and introduces a Bun/VitePress toolchain, which can affect CI behavior and release of documentation artifacts. Other changes are mostly governance/metadata updates and minor action pinning.

Overview
Adds repo hygiene and documentation publishing automation. Introduces GitHub issue/PR templates, plus CITATION.cff and FUNDING.yml, and updates README.md with an additional badge.

Adds a VitePress docs site and GitHub Pages deployment. Creates docs/ content and VitePress config, adds package.json/bun.lock, ignores docs/.vitepress/dist, and adds a pages.yml workflow to build docs with Bun and deploy to GitHub Pages.

Hardens some CI actions. Pins actions/checkout in cargo-deny.yml to a commit SHA and pins actions/upload-artifact in scorecard.yml to a commit SHA.

Reviewed by Cursor Bugbot for commit f94c436. Bugbot is set up for automated code reviews on this repo. Configure here.


CodeAnt-AI Description

Add a public docs site and repository contribution templates

What Changed

  • Added a published docs site with an overview, tool catalog, and adoption guide, plus GitHub Pages deployment so the site can be hosted from the repo
  • Added issue and pull request templates to guide bug reports, feature requests, and PR submissions
  • Added repository metadata for citation and funding, and updated the README badge row
  • Pinned selected GitHub Actions to fixed versions in CI

Impact

✅ Easier repo onboarding
✅ Clearer bug and feature submissions
✅ Public documentation publishing

🔄 Retrigger CodeAnt AI Review

Details

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

KooshaPari and others added 7 commits April 29, 2026 03:16
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Pin GitHub Actions to immutable SHAs:
- checkout@v6: de0fac2e4500dabe0009e67214ff5f5447ce83dd
- deploy-pages@v4: cd2ce8fcbc39b97be8ca5fce6e763baed58fa128
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 2, 2026 11:39
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 2, 2026

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 2, 2026

Warning

Rate limit exceeded

@KooshaPari has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 32 minutes and 20 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: bc975826-cb89-4418-96e9-05542d189d2d

📥 Commits

Reviewing files that changed from the base of the PR and between 5be9987 and f94c436.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (22)
  • .github/ISSUE_TEMPLATE/bug_report.yml
  • .github/ISSUE_TEMPLATE/feature_request.yml
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/workflows/cargo-deny.yml
  • .github/workflows/pages.yml
  • .github/workflows/scorecard.yml
  • .gitignore
  • CITATION.cff
  • FUNDING.yml
  • README.md
  • docs/.vitepress/config.mts
  • docs/adoption.md
  • docs/index.md
  • docs/sessions/20260429-sladge-badge-rollout/00_SESSION_OVERVIEW.md
  • docs/sessions/20260429-sladge-badge-rollout/01_RESEARCH.md
  • docs/sessions/20260429-sladge-badge-rollout/02_SPECIFICATIONS.md
  • docs/sessions/20260429-sladge-badge-rollout/03_DAG_WBS.md
  • docs/sessions/20260429-sladge-badge-rollout/04_IMPLEMENTATION_STRATEGY.md
  • docs/sessions/20260429-sladge-badge-rollout/05_KNOWN_ISSUES.md
  • docs/sessions/20260429-sladge-badge-rollout/06_TESTING_STRATEGY.md
  • docs/tools.md
  • package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/pin-github-actions-shas
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch chore/pin-github-actions-shas

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 32 minutes and 20 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@codeant-ai codeant-ai Bot added the size:L This PR changes 100-499 lines, ignoring generated files label May 2, 2026
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request establishes a documentation framework using VitePress, adding a tool catalog, adoption guide, and session logs, while also introducing GitHub issue and pull request templates. The review feedback highlights that the PR metadata is inaccurate and that the tool catalog contains inconsistencies relative to the actual repository inventory. Additionally, it is suggested to use relative links for crate directories to improve documentation portability and maintenance.

Comment thread package.json
@@ -0,0 +1,14 @@
{
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The Pull Request title and description ('ci: SHA-pin GitHub Actions') are completely unrelated to the actual changes in this PR, which involve adding documentation, issue templates, and a VitePress setup. This discrepancy makes the repository history difficult to audit and can be misleading during review. Please update the PR metadata to accurately reflect the work performed.

Comment thread docs/index.md
Comment on lines +10 to +16
| Area | Tools |
| --- | --- |
| Quality | `quality-gate`, `docs-health`, `doc-link-check` |
| Traceability | `fr-trace`, `fr-coverage`, `temporal-grounding` |
| Release | `release-cut`, `commit-msg-check`, `sbom-gen` |
| Governance | `legacy-scan`, `audit-privacy`, `bench-guard` |
| Agent Ops | `agent-orchestrator`, `agent-forecast`, `anthropic-usage-poll` |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The tool catalog in the documentation is inconsistent with the repository's actual inventory and automation scripts. The table lists 15 tools, but the scripts/adopt-tooling.sh script (referenced in the adoption guide) only handles 9 of them. Additionally, fuzz-setup (which exists in the repo) is missing from this list. Please synchronize the documentation with the actual crate inventory and adoption scripts.

Comment thread docs/tools.md

## Quality And Docs

- [`quality-gate`](https://github.com/KooshaPari/phenotype-tooling/tree/main/crates/quality-gate)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Consider using relative links to the crate directories (e.g., ../crates/quality-gate) instead of absolute GitHub URLs. This ensures the links work correctly across different branches and forks, and maintains consistency with the relative links used in the root README.md. Additionally, ensure there is a space after the list marker (- ) for proper Markdown rendering.

Suggested change
- [`quality-gate`](https://github.com/KooshaPari/phenotype-tooling/tree/main/crates/quality-gate)
- [`quality-gate`](../crates/quality-gate)

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 2, 2026

CodeAnt AI finished reviewing your PR.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because on-demand usage is turned off. To enable Bugbot Autofix, turn on on-demand usage and set a spend limit in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f94c436. Configure here.

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

New workflow has unpinned action refs contradicting PR goal

Medium Severity

The newly added pages.yml workflow uses mutable tag refs actions/checkout@v4 and oven-sh/setup-bun@v2 instead of SHA-pinned refs. This directly contradicts the PR's stated goal of pinning all action refs to immutable SHAs. Other actions in the same file (configure-pages, upload-pages-artifact, deploy-pages) are correctly SHA-pinned, making the inconsistency clear. Mutable tags are a supply-chain risk since they can be force-pushed to point to different code.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit f94c436. Configure here.

Comment thread FUNDING.yml
@@ -0,0 +1,2 @@
# Funding configuration
github: KooshaPari
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

FUNDING.yml placed at wrong repository path

Low Severity

The FUNDING.yml file is placed at the repository root, but GitHub requires it at .github/FUNDING.yml to display the "Sponsor" button on the repository page. At its current location, GitHub will not recognize or use the file, making it effectively dead configuration.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit f94c436. Configure here.

Copy link
Copy Markdown

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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@KooshaPari
Copy link
Copy Markdown
Owner Author

Closing — branch already merged to main, all SHA-pinning work landed via #53 and other hygiene work

@KooshaPari KooshaPari closed this May 2, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 7, 2026

CodeAnt AI is running the review.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai Bot added size:L This PR changes 100-499 lines, ignoring generated files and removed size:L This PR changes 100-499 lines, ignoring generated files labels May 7, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 7, 2026

Sequence Diagram

This PR adds a GitHub Pages workflow that builds the VitePress documentation site with Bun on relevant pushes and deploys the generated artifact to GitHub Pages.

sequenceDiagram
    participant Dev as Developer
    participant CI as Pages workflow
    participant Build as Build job
    participant Deploy as Deploy job
    participant Pages as GitHub Pages

    Dev->>CI: Push changes or trigger workflow
    CI->>Build: Run docs build with Bun and VitePress
    Build-->>CI: Upload built docs artifact
    CI->>Deploy: Start deploy job with artifact
    Deploy->>Pages: Publish docs site to configured pages
    Pages-->>Dev: Updated documentation available
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 7, 2026

CodeAnt AI finished running the review.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 7, 2026

CodeAnt AI is running the review.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai Bot added size:L This PR changes 100-499 lines, ignoring generated files and removed size:L This PR changes 100-499 lines, ignoring generated files labels May 7, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 7, 2026

Sequence Diagram

This PR adds a GitHub Actions workflow that builds the VitePress documentation site with Bun and deploys the generated static files to GitHub Pages on changes to docs or related config.

sequenceDiagram
    participant Dev
    participant GitHub
    participant CI
    participant Pages

    Dev->>GitHub: Push to main or run workflow dispatch
    GitHub->>CI: Trigger Pages workflow
    CI->>CI: Checkout repo and install Bun dependencies
    CI->>CI: Build VitePress docs with pages base enabled
    CI->>Pages: Upload built docs artifact
    CI->>Pages: Deploy artifact to pages environment
    Pages-->>Dev: Expose updated docs site URL
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 7, 2026

CodeAnt AI finished running the review.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 8, 2026

CodeAnt AI is running the review.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai Bot removed the size:L This PR changes 100-499 lines, ignoring generated files label May 8, 2026
@codeant-ai codeant-ai Bot added the size:L This PR changes 100-499 lines, ignoring generated files label May 8, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 8, 2026

Sequence Diagram

This PR adds a Pages workflow that builds the VitePress documentation site with Bun and publishes the generated static files to GitHub Pages when docs-related changes are pushed to the main branch.

sequenceDiagram
    participant Dev as Developer
    participant GitHub
    participant CI as Pages workflow
    participant Builder as Docs build
    participant Pages as GitHub Pages

    Dev->>GitHub: Push to main with docs updates
    GitHub->>CI: Trigger Pages workflow
    CI->>Builder: Checkout code and build docs site
    Builder-->>CI: Return built static docs files
    CI->>Pages: Upload docs artifact
    CI->>Pages: Deploy docs to pages environment
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 8, 2026

CodeAnt AI finished running the review.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 8, 2026

CodeAnt AI is running the review.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai Bot added size:L This PR changes 100-499 lines, ignoring generated files and removed size:L This PR changes 100-499 lines, ignoring generated files labels May 8, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 8, 2026

Sequence Diagram

This PR adds a VitePress documentation site and a GitHub Actions workflow that builds the docs with Bun and deploys them to GitHub Pages whenever docs or related config change.

sequenceDiagram
    participant Dev
    participant GitHub
    participant BuildJob
    participant DeployJob
    participant VitePress
    participant Pages

    Dev->>GitHub: Push changes to docs or config
    GitHub->>BuildJob: Trigger Pages workflow build job
    BuildJob->>VitePress: Install dependencies and build docs with Bun
    BuildJob->>Pages: Upload built docs artifact
    GitHub->>DeployJob: Start deploy job after build
    DeployJob->>Pages: Publish docs to GitHub Pages environment
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 8, 2026

CodeAnt AI finished running the review.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

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

Labels

size:L This PR changes 100-499 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants