Skip to content

v0.20.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Aug 14:32

BestieTemplate v0.20.0

Diff since v0.19.0

BREAKING NOTICE

  • The testitem_cli testing strategy option has changed slightly fixing a bug and removing an unnecessary temporary environment.
  • add_feature(:pre_commit_with_config) and add_feature(:pre_commit_without_config) have been removed. add_feature(:pre_commit) now adds only .pre-commit-config.yaml; add the shared formatter/linter configuration files independently with the new add_feature(:formatter_linter_config).
  • AddPrecommit is now an independent question from AddFormatterAndLinterConfigFiles. If you previously answered false to AddFormatterAndLinterConfigFiles, you will be asked about AddPrecommit again on the next update.

Added

  • New feature add_feature(:lint_action_explicit), which adds .github/workflows/Lint.yml to any package by taking the answers that say which tools the package uses (AddPrecommit, AddLychee) as explicit data, instead of requiring an existing .copier-answers.yml like :lint_action
  • New optional optional_files field in features.toml, mapping a boolean answer to files the feature's output needs when it is true — :lint_action_explicit uses it for .lychee.toml and .pre-commit-config.yaml, which its jobs read. They are written only when missing, so an existing file is kept and two features can declare the same path
  • New workflow .github/workflows/PublishPython.yml, publishing the bestie-template Python package to PyPI on py-v* tags via trusted publishing (no tokens)
  • New question AddVSCodeRecommendations (Advanced strategy), adding a .vscode/extensions.json file that recommends the Julia VS Code extension. Also available as add_feature(:vscode_recommendations) (#298)

Changed

  • New Python package bestie-template releases: 0.1.1 and 0.2.0. Its version is independent of the Julia package's, since the two are released on different cadences
  • bestie-template installs a bestie-template command as an alias of bestie, so uvx bestie-template ... works without --from
  • The documentation, the bestie-features skill and python/README.md now install bestie-template from PyPI instead of from the git repository
  • The README and the full guide now mention the bestie-features agent skill and how to install it with npx skills add JuliaBesties/BestieTemplate.jl
  • The bestie-features skill now describes the BestieTemplate README badge, so it can offer it when adding features to a package that was not generated from the template
  • python/pyproject.toml now sets a one-week exclude-newer dependency cooldown
  • The testitem_cli test runner no longer builds a temporary environment to bring the package into scope. The [sources] section that test/Project.toml gained in 0.17.1 (#559) already does that, so Pkg is no longer a test dependency of that strategy (#640)

Fixed

  • add_feature no longer advances the _commit and _src_path recorded in .copier-answers.yml. Copier stamps both with the template version it rendered from, but a feature writes a deliberate subset of the template, so a package that had not run update in a while was left claiming it was fully reconciled with the newest version — and the next update then skipped every version in between without saying so. The answers themselves are still recorded, and the newest version of the feature's files is still what gets applied. Pass preserve_template_version = false (--no-preserve-template-version in the CLI) for the previous behaviour (#626)
  • The filter flags of the testitem_cli test runner now work when the tests are run through Pkg.test, which includes test/runtests.jl instead of executing it as a program. Filters passed as test_args were previously ignored, and so were misspelled flags, both without any warning. This affects pkg> test and julia-actions/julia-runtest as well (#640)
  • The AddPrecommit question no longer depends on AddFormatterAndLinterConfigFiles. The two were entangled so that declining the config files also silently defaulted away pre-commit, which forced add_feature(:pre_commit_without_config) to record AddFormatterAndLinterConfigFiles = true just to keep pre-commit's own answer remembered — and a later plain update would then restore the config files the feature was meant to leave out (#625)

Merged pull requests:

Closed issues:

  • Add CompatHelper for test/Project.toml (#111)
  • Add VSCode settings (#298)
  • [extras] test section vs test/Project.toml (#408)
  • [Bug]: ignoring stable documentation link doesn't seem to work (#498)
  • First PyPI release of bestie-template (py-v0.1.0) (#618)
  • Fetch the feature registry at the resolved template release tag (default-ref consistency) (#621)
  • add_feature(:pre_commit_without_config) records AddFormatterAndLinterConfigFiles = true, so a later update creates the opted-out files (#625)
  • add_feature advances _commit to the latest template ref, so a later update silently skips versions (#626)
  • [Bug] runtests.jl filter flags are silently ignored under Pkg.test (#640)