Skip to content

chore: Update copier template to v0.6.0 - #72

Open
Pavel Zwerschke (pavelzw) wants to merge 3 commits into
mainfrom
copier-autoupdate-v0.6.0
Open

Pavel Zwerschke (pavelzw) wants to merge 3 commits into
mainfrom
copier-autoupdate-v0.6.0

Conversation

@pavelzw

@pavelzw Pavel Zwerschke (pavelzw) commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Manual copier update to v0.6.0. The scheduled quant-ranger copier updater skipped this repository because _commit was not a tag (v0.4.1-60-g881f631). With _commit: v0.6.0, future scheduled updates will work again.

The main template change is the switch from pre-commit to lefthook. After pulling, run pixi run pre-commit-install to install the new Git hook, and use pixi run lint instead of pixi run pre-commit-run.

Conflict resolutions worth reviewing

  • Packaging follows the template: diffly now builds with pixi-build (diffly = { path = "." }) and a static 0.0.0 version that build.yml replaces from the tag on release, as in the template. hatch-vcs, pip and the postinstall task (plus its CI, Copilot, nightly and docs references) are removed; the build feature is part of the default environment and build.yml matches the template, so publishing now triggers on tag pushes instead of release: published.
  • pydocstyle (D) is not enabled: the template turns on ruff's D rules with the Google convention and drops docformatter. In diffly that flags 26 D205 docstrings, so I kept docformatter and left D off. Enabling it can be a follow-up.
  • Ported pre-commit hooks into .lefthook.yaml: fixture generation (test-coverage -m generate), insert-license with the BSD-3-Clause header, docformatter, and the fixture/.rst excludes for trailing-whitespace, end-of-file and check-merge-conflict. ruff now runs only on the staged .py/.pyi files, as pre-commit did. The template's project-wide run would also reformat markdown code blocks and notebooks.
  • Environments: the lint feature is now part of default (lefthook runs tools in the default env) and the separate lint env is gone. I added a py315 env and CI matrix entry and kept no-optional-dependencies.
  • Other changes:
    • taplo is replaced by tombi, which reformats the TOML files.
    • .envrc now uses layout pixi and keeps dotenv_if_exists .env.
    • .gitattributes, .gitignore, dependabot.yml, README.md, AGENTS.md and the diffly/__init__.py license header keep their repo-specific content. AGENTS.md commands now point to pixi run lint.

pixi run lint is clean. pixi run test passes on py314 (default) and py315: 422 passed.

@codecov

codecov Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (48588c1) to head (9ae4f01).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #72   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           13        13           
  Lines         1140      1140           
=========================================
  Hits          1140      1140           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

One or more custom setup steps configured for this repository failed during this Copilot code review run:

Set up pixi

Setup steps run before each review. If the review above is missing context, or no review was posted at all, the failing step above may be the cause. See the workflow run for failure details, fix your setup steps configuration, and re-request a review.

Note

You can configure setup steps for Copilot code review separately from Copilot cloud agent with a copilot-code-review.yml file. Read the docs for details.

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.

🟡 Changes recommended

The setup workflow requests a removed environment, and parallel lint jobs can overwrite each other’s edits.

2 open issues
What changed in this PR

Updates Diffly to Copier template v0.6.0 to restore scheduled template updates, while retaining hatch-vcs packaging and repository-specific tooling.

Changes:

  • Replaces pre-commit with lefthook and moves lint dependencies into the default environment.
  • Adds Python 3.15 coverage and refreshes CI actions.
  • Updates template metadata, development instructions, and configuration files.
File Description
pyproject.toml Adds Python 3.15 classification and Tombi configuration.
pixi.toml Migrates lint tooling and adds the Python 3.15 environment.
diffly/​__init__.py Makes version-lookup imports private aliases.
AGENTS.md Documents the new lint command.
.pre-commit-config.yaml Removes the previous hook configuration.
.lefthook.yaml Defines replacement lint and fixture-generation hooks.
.gitignore Simplifies exclusions while retaining repository-specific entries.
.github/​workflows/​scorecard.yml Updates actions and disables checkout credential persistence.
.github/​workflows/​nightly.yml Updates setup-pixi.
.github/​workflows/​copilot-setup-steps.yml Updates setup-pixi for environment preparation.
.github/​workflows/​ci.yml Switches lint commands and adds Python 3.15 testing.
.github/​workflows/​build.yml Updates setup and artifact actions without changing packaging.
.envrc Uses layout pixi while retaining optional .env loading.
.copier-answers.yml Records template v0.6.0 and adds update instructions.

Review effort: Balanced

Comment thread .github/workflows/copilot-setup-steps.yml Outdated
Comment thread .lefthook.yaml
- name: generate-fixture
run: pixi {run} test-coverage -m generate
- group:
parallel: true

This branch has not been deployed

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants