Skip to content

Add pull request automation: labels, Dependabot, and security workflows - #3

Merged
Paururo merged 2 commits into
mainfrom
chore/gh-automation
Aug 21, 2026
Merged

Add pull request automation: labels, Dependabot, and security workflows#3
Paururo merged 2 commits into
mainfrom
chore/gh-automation

Conversation

@Paururo

@Paururo Paururo commented Aug 21, 2026

Copy link
Copy Markdown
Member

Ports the bot, label and pull-request-format setup from get_MNV, adapted to snpick (a Rust CLI with no frontend).

What this adds

  • Labels. .github/labeler.yml plus a labeler workflow put part-of-the-project labels on a pull request from the files it changes: core, vcf, filters, bindings, documentation, packaging, tests, ci.
  • Dependabot. Grouped monthly updates for the cargo crate, the docs pip requirements and the workflow actions, with routine (minor and patch) updates kept apart from majors. The routine group is auto-merged once CI is green; majors always wait for a person.
  • CodeQL. Static analysis on push and pull request over the two languages present here, rust and actions.
  • Dependency review. Refuses a pull request that would add a dependency with a known vulnerability, at moderate severity and above.
  • Mutation testing. A manual cargo mutants run, split across four shards, that reports which logic no test distinguishes. It is advisory and never fails the build.
  • Stale sweep. A weekly pass that marks issues untouched for three months and closes them a month later, leaving anything labelled bug, security or pinned alone.
  • Pull request template. Replaced with a shorter one focused on what changed, why, and how it was verified.

MSRV footgun fix

The MSRV job in rust.yml pinned its compiler as dtolnay/rust-toolchain@1.74.0. With the github-actions Dependabot ecosystem now enabled, that ref would be treated as a tag to bump, and a routine update to a newer ref would quietly build the job on a different compiler while still calling itself the MSRV check. The version now lives in the action's toolchain input, so the minimum supported Rust version only moves when that line does.

Notes

  • Labels referenced by Dependabot and the labeler are created in the repository, since Dependabot skips labels that do not exist.
  • The labeler runs on pull_request_target, so it does not label this pull request (the base branch has no labeler config yet); it takes effect once merged.
  • Two repository settings are outside this pull request: enabling Dependabot security updates, and setting Actions workflow permissions to read and write so auto-merge and the labeler can write.

Label pull requests by the files they touch, and add Dependabot with grouped monthly updates plus auto-merge for routine bumps once CI is green. Add CodeQL, dependency review, a manual mutation-testing run, and a weekly stale-issue sweep. Pin the MSRV job through the toolchain input so the actions updater cannot move the minimum supported Rust version, and replace the pull request template with a shorter one.
@Paururo Paururo added the ci CI and repository automation label Aug 21, 2026
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@Paururo Paururo closed this Aug 21, 2026
@Paururo Paururo reopened this Aug 21, 2026
A dependency is published against the 2024 edition, which Cargo understands only from 1.85 on, and the committed Cargo.lock's version 4 format needs at least 1.78; the previous 1.74 claim built under neither. Update rust-version, the MSRV CI job, the install docs and the pull request checklist to 1.85, and drop two stray em-dashes from the install docs.
@Paururo
Paururo force-pushed the chore/gh-automation branch from 7999d5d to baf4cca Compare August 21, 2026 19:13
@Paururo
Paururo merged commit 93386f2 into main Aug 21, 2026
10 checks passed
@Paururo
Paururo deleted the chore/gh-automation branch August 21, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI and repository automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants