Skip to content

v1.9.0

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Aug 09:22
· 1011 commits to master since this release
v1.9.0
5da5e86

Summary

We're pleased to announce Commodore v1.9.0. The main new features in this release relate to the component template which we've moved out of the Commodore repository into its own repository at https://github.com/projectsyn/commodore-component-template.

We've refactored the command component new to be based on Cruft, to bring the management of the component and configuration package templates in sync again. Apart from unifying the code to manage component and configuration package templates, this also allows us to introduce new commands component update and component sync which allow users to manage existing Commodore component repositories.

The command component update provides support for updating a component's boilerplate to the latest template version, as well as modifying a component's boilerplate. The command allows users to add or remove many component features. The command allows users to enable or disable golden tests for a component. It also allows users to add test cases to a component, and to remove test cases from a component. Please see the Commodore CLI documentation for the full set of supported options for component update.

The command component sync is primarily intended to be run in a CI pipeline to keep components updated. This command replaces the function of modulesync for keeping component boilerplate updated. We've already set up a GitHub action which executes component sync for the same set of components that were previously managed by modulesync in the component template repository.

Apart from the improved component template handling, this release improves the robustness of handling Git repository author information. We've ensured that Git author information provided in environment variables is used for all Git repositories managed by Commodore. Additionally, we added logic to provide fallback author information for the case where Git can't determine author information at all.

Changes

21 changes since v1.8.0

🚀 Features

  • Add new command component update (#594)
  • Add option to create additional test cases for component new (#599)
  • Add support for adding and removing test cases to component update (#600)
  • Add command component sync (#607)
  • Read cookiecutter args from .cruft.json in Templater (#609)
  • Add fallback logic for component template add_pp and add_lib cookiecutter args (#610)
  • Explicitly handle Cruft errors and merge conflicts in Templater.update() (#611)
  • Add fallback to extract copyright info from modulesync config (#614)
  • Add option to skip committing changes for component update/package update (#616)

🛠️ Minor Changes

  • Update Commodore-in-Docker to support GPG-signing commits on Linux (#589)

🐛 Fixes

  • Fix dependency spec linting for dependencies in subpaths (#592)
  • Correctly pass Git author name and email in catalog compile (#598)
  • Correctly pass Git author name and email to dependency repos (#602)
  • Correctly propagate Git author information when managing worktrees (#603)
  • Handle KeyError when reading Git user from config (#604)
  • Fix GitRepo initialization for dependencies without backing MultiDependency (#605)
  • Fix entrypoint script in case the .ssh folder already exists (#606)

📄 Documentation

  • Add warning regarding "class not found" messages when using packages (#601)

🔗 Dependency Updates

  • Lock file maintenance (#595)
  • Update dependency pylint to v2.15.0 (#612)
  • Lock file maintenance (#613)