chore: align CI, tooling & branch ruleset with project templates - #5
Merged
Conversation
Aligns pmf-benchmark with pmf-tsfm and python-project-template. Tooling / CI: - pyproject: move dev deps to [dependency-groups] (PEP 735); enrich the ruff ruleset (add W, N, S security, C4, RUF) with per-file-ignores and docstring-code-format. - Commit uv.lock and switch CI to `uv sync --frozen --group dev` for reproducible installs; stop ignoring uv.lock. - Add .python-version (3.11); trim codecov.yml to the minimal template form. - Fix the ruff findings the richer ruleset surfaces in the ER code (pickle and pm4py security annotations, redundant int() casts, precedence parentheses, unused noqa). Branch ruleset (main-protection) — applied via API, documented under .github/rulesets/: - Restrict merge methods to squash-only (resolves the linear-history vs merge-commit contradiction that blocked PRs). - Relax required status checks to non-strict. - Remove the over-strict "Restrict updates" and "Restrict creations" rules; the pull-request requirement already gates changes to main. - Delete an empty, disabled leftover ruleset.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Aligns pmf-benchmark's CI/tooling with the canonical
python-project-templateandpmf-tsfm, and simplifies themainbranch ruleset. Second of two follow-ups after the ER evaluation merge; a separate PR will fix the pre-existing lint debt in legacy top-level code.Tooling / CI
[dependency-groups](PEP 735), matching the template.uv.lockand switch CI touv sync --frozen --group devfor reproducible installs (also un-ignoreduv.lock).W,N,S(flake8-bandit — recovers the security linting we dropped with bandit),C4,RUF; addper-file-ignoresanddocstring-code-format..python-version(3.11); trimcodecov.ymlto the minimal template form.int()casts, precedence parens, unusednoqa).Kept deliberately (avoid churn/risk): Python 3.11, setuptools backend, GitHub default CodeQL setup.
Branch ruleset (
main-protection)Applied via the API and documented under
.github/rulesets/(a reference export — GitHub doesn't auto-apply ruleset files):blockedstate.Restrict updatesrule (the cause of "Cannot update this protected ref") and the pointlessRestrict creationsrule — the PR requirement already gatesmain.