Recent Releases of copier-pipeline
copier-pipeline - 2025.1.3
- Retire the hacky "custom" lockfile approach and stabilize around now standardized
uv.lock - Migrate to
packagesanduvworkspaces layout - Introduce
pipelineworkflow package in preparation for migrating reproducible research pipelines from PhD work - Improve setup for first-timers, new machines, fresh repos, implemented as
justrecipes - Synchronize environment variables in a few places, unifying contrib/CI config by choosing the lesser of two evils, compared with a truly "single source of truth"
- The above facilitated minimizing directly templated files (e.g.
template/**/*.jinjafiles), reducing diffs on template updates - Install and use
uvlocally with a project-specific version instead of hijacking global uv and forcing it to a certain version - Funnel almost all useful actions through the
justcommand runner via e.g../j.ps1 <recipe> <args> ... - Retire PowerShell scripts except for
./j.ps1andscripts/pre.ps1which thinly wrapjustinvocations and handle the few thingsjustcannot do (or cannot do neatly) - Base most of CI on these
justrecipes, allowing local testing and debugging of CI actions. Only the potentially sensitive release workflow is "hard-coded" in the workflow file - Implement artifact attestation and PyPI publishing via OIDC in release workflows
- After a few false starts (see the latest flurry of releases), implement release workflow that requires normal CI to pass, optionally publishes to PyPI, and updates release notes
- Derive the optional VSCode layer's Tasks from the
justrecipes, and generally make the template more VSCode-optional - Modernize Renovate dependency management configuration, by default make it less noisy
- Try generating CI environment workflow and separating changelog drafting from releasing (75edd78)
- Unify behavior of Pyright (or optional Pylance) locally and in CI without resorting to a platform-specific local extension approach
- Jinja
Published by github-actions[bot] 8 months ago
copier-pipeline - 2025.1.2
- Just publish the release since drafting/changrelease don't play nicely (0a8e36b)
- Jinja
Published by github-actions[bot] 8 months ago
copier-pipeline - 2025.1.1
- Separate GitHub release publishing into draft and publish stages (cfe9986)
- Jinja
Published by github-actions[bot] 8 months ago
copier-pipeline - 2025.1.0
- Don't recreate immortal PRs (c034b08)
- Fix Just recipe "Update changelog with the latest commit's message" (a8ddcfb)
- Make uv installation robust to other kinds of installs (e10f56c)
- Try generating CI environment workflow and separating changelog drafting from releasing (75edd78)
- Jinja
Published by blakeNaccarato 8 months ago
copier-pipeline - 2024.2.0
This release stabilizes the core mechanics of the template, including environment setup and synchronization, CI/CD workflows, documentation and tests, and more. The template now wraps uv run in ./dev.ps1 as Invoke-Uv, aliased to iuv, which keeps environment variables and hooks in sync in addition to the syncing done by uv itself.
Changes
- Restructure template as a modern
uvproject with workspace layout and lockfiles - Add TOML and Prettier formatting to
pre-commit - Introduce
Invoke-Uv.ps1andiuvalias which wrapsuv run, but also syncs submodules, environment variables, ensures pre-commit hooks are installed - Have
Invoke-Uv.ps1also work correctly in CI, invoking--lockedand--frozenwhen appropriate and generating artifacts for inspecting the packages installed in CI runs - Transition Renovate dependency management to maintain PEP 621 requirements in
pyproject.tomlby automatically re-locking withuv - Simplify CI pipelines, don't commit during them, allowing this template to function in repos where
mainhas push protection - Leverage
uv's Python executable management to avoid having to install it - Finalize the complete machine setup scripts for Windows, Linux, and MacOS
- Fix Codecov integration (#437)
- Elevate Pyright warnings to errors in CI (37d079c5)
- Generate appropriate coverage report format for Codecov (c22b475b)
- Handle locked submodule configs (75d4cb02)
- Only run coverage in task and CI, not in VSCode test runner (Fixes #447) (bb19a367)
- Remove Pylance bundled stubs instead of synchronizing
submodules/typings(8579ca8c) - Require docs build to pass before updating lock (Fixes #445) (1d78af44)
- Run winget more safely and facilitate commit-pinned changelog entries.
- Require
exactandwingetsource, and run winget silently for safter Windows machine initialization. - Add task for timestamped ad-hoc/orphan changelog entries. 34dede3f
- Single-source Pylance version (5e878127)
- Jinja
Published by github-actions[bot] over 1 year ago
copier-pipeline -
Changes
- Make first release
- Actually compare directs (#397)
- Specify automation profile (#406)
- Fix splatting in Windows install script in contributing guide (#413)
- Fix
sync.pyforlock.jsonexisting but empty (#415) - Fix
powershellinvocation for paths containing spaces (#416) - Produce an output
requirements.txtwith all requirements (#417) - Mitigate CVE-2024-37891 by setting
urllib3>=2.2.2(#421) - Add changelog entry step to contribution flow (#423)
- Added towncrier
- Fix
changereleaseworkflow and reduce duplication
- Jinja
Published by blakeNaccarato over 1 year ago