trunk-io / plugins

Trunk.io plugins repo
https://docs.trunk.io
MIT License
126 stars 40 forks source link

Auto release every change (continuous delivery) #242

Open docwhat opened 1 year ago

docwhat commented 1 year ago

I propose that this repository moves to a continuous delivery model where every change/commit accepted into main and passes all the CI tests will trigger a release automatically.

This should be possible now that there is test coverage and good linting (trunk!).

The use case for this is PR #237, which breaks hadolint on arm64 macOS systems. Not that big a deal if updating, but on a new project is a pain and is confusing. A CD setup would have this fixed within minutes of #237 being approved and merged.

A quick estimate of the work required:

  1. Ensure the branch protections are up-to-date.
  2. Ensure the test coverage is sufficient for confidence.
  3. Write a CI workflow to tag and release a version based on comments. Something like Release Please could be used with conventional commits.
  4. Write documentation.
  5. Profit!
sxlijin commented 1 year ago

Hey there - we definitely agree that this is something we want to work towards.

Unfortunately, there's still some delicate synchronization of the plugins & CLI releases that we have to do ourselves (we've released backwards-incompatible changes almost every month) so the releases aren't truly decoupled right now, and we'd have to address that in addition to this.

docwhat commented 1 year ago

That would be important to fix. 😳