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 packages and uv workspaces layout
  • Introduce pipeline workflow package in preparation for migrating reproducible research pipelines from PhD work
  • Improve setup for first-timers, new machines, fresh repos, implemented as just recipes
  • 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/**/*.jinja files), reducing diffs on template updates
  • Install and use uv locally with a project-specific version instead of hijacking global uv and forcing it to a certain version
  • Funnel almost all useful actions through the just command runner via e.g. ./j.ps1 <recipe> <args> ...
  • Retire PowerShell scripts except for ./j.ps1 and scripts/pre.ps1 which thinly wrap just invocations and handle the few things just cannot do (or cannot do neatly)
  • Base most of CI on these just recipes, 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 just recipes, 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 uv project with workspace layout and lockfiles
  • Add TOML and Prettier formatting to pre-commit
  • Introduce Invoke-Uv.ps1 and iuv alias which wraps uv run, but also syncs submodules, environment variables, ensures pre-commit hooks are installed
  • Have Invoke-Uv.ps1 also work correctly in CI, invoking --locked and --frozen when appropriate and generating artifacts for inspecting the packages installed in CI runs
  • Transition Renovate dependency management to maintain PEP 621 requirements in pyproject.toml by automatically re-locking with uv
  • Simplify CI pipelines, don't commit during them, allowing this template to function in repos where main has 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 exact and winget source, 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.py for lock.json existing but empty (#415)
  • Fix powershell invocation for paths containing spaces (#416)
  • Produce an output requirements.txt with 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 changerelease workflow and reduce duplication

- Jinja
Published by blakeNaccarato over 1 year ago