Skip to content

⬆️ Update runners and prek checks#253

Merged
denialhaag merged 4 commits intomainfrom
update-dependencies
Jan 30, 2026
Merged

⬆️ Update runners and prek checks#253
denialhaag merged 4 commits intomainfrom
update-dependencies

Conversation

@denialhaag
Copy link
Member

@denialhaag denialhaag commented Jan 30, 2026

Description

This PR updates the CI to use macos-15 instead of macos-14 and windows-2025 instead of windows-2022. It furthermore updates .pre-commit-config.yml to make use of prek's priority feature.

Checklist:

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

@denialhaag denialhaag requested a review from burgholzer January 30, 2026 18:20
@denialhaag denialhaag self-assigned this Jan 30, 2026
@denialhaag denialhaag added dependencies Pull requests that update a dependency file continuous integration pre-commit labels Jan 30, 2026
@github-project-automation github-project-automation bot moved this to In Progress in MQT Qudits Jan 30, 2026
@coderabbitai
Copy link

coderabbitai bot commented Jan 30, 2026

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated CI/CD build environments to use latest macOS and Windows runner versions for improved stability and performance.
    • Reorganized pre-commit hooks with prioritized execution for faster validation and more efficient code quality checks.
    • Updated nanobind dependency constraint for better version compatibility management.

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

Repository infrastructure is modernized through GitHub Actions runner version updates (macos-15, windows-2025, ubuntu-slim), comprehensive reorganization of pre-commit hooks with explicit priority levels for execution control, and tightening of the nanobind dependency constraint from flexible to patch-level matching.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Runner Updates
.github/workflows/cd.yml, .github/workflows/ci.yml, .github/workflows/release-drafter.yml, .github/workflows/templating.yml
Updated macOS runners from macos-14 to macos-15/macos-15-intel, replaced windows-2022 with windows-2025, and standardized final job runners to ubuntu-slim. Removed PR label gating for C++ test enablement in ci.yml.
Pre-commit Hook Reorganization
.pre-commit-config.yaml
Restructured entire pre-commit pipeline with hierarchical priority levels (0, 1, 2+) across hooks; reorganized into logical sections (Standard, JSON schema, typo, license checks); updated/repositioned ruff (split into format/check), mypy, bibtex-tidy, blacken-docs, and introduced local capitalization check hook.
Build and Project Configuration
pyproject.toml
Tightened nanobind build dependency from >=2.10.2 to ~=2.10.2 (patch-level matching); added PC170 to repo-review ignore list.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 Infrastructure hops forward with a spring in its step,
Old runners retire, new versions are set,
Hooks sorted by priority, workflows so clean,
The prettiest pipelines we've ever seen!
— Signed, your friendly automation rabbit 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title summarizes the two main changes: updating runners (macOS and Windows) and updating pre-commit checks to use prek's priority feature, directly reflecting the core changes in the PR.
Description check ✅ Passed The description covers the main changes (CI runner updates and pre-commit configuration updates) and includes a completed checklist, though two items are marked as not applicable which is reasonable for this infrastructure-focused change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-dependencies

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

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
pyproject.toml (1)

10-15: ⚠️ Potential issue | 🟡 Minor

Clarify why nanobind is pinned to ~=2.10.2, or relax to allow 2.11.0+.

nanobind 2.11.0 (released Jan 29, 2026) has no documented API-breaking changes and is backward-compatible at the source level. While it includes an ABI version bump (17→18), this only matters if qudits shares nanobind-based extension modules with other packages at the ABI level. For a single project, the ABI change is not a blocker.

If the pin serves no specific purpose, consider relaxing it to >=2.10.2 to benefit from 2.11.0's performance improvements and bug fixes, maintaining consistency with the practice of keeping dependencies as flexible as possible.

🤖 Fix all issues with AI agents
In @.pre-commit-config.yaml:
- Around line 3-71: The pre-commit.ci-compatible pre-commit config must not
include prek-specific "priority" keys; update .pre-commit-config.yaml by either
removing all "priority:" entries (e.g., under hooks like check-merge-conflict,
end-of-file-fixer, typos, sp-repo-review and the local disallow-caps hook) so
the file is valid for pre-commit/pre-commit.ci, or if you intend to use
prek-only, remove the entire "ci:" section that enables pre-commit.ci and update
README/docs accordingly to state the repo uses prek instead of pre-commit.ci.

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

Labels

continuous integration dependencies Pull requests that update a dependency file pre-commit

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants