Skip to content
This repository has been archived by the owner on Sep 7, 2018. It is now read-only.

Automate the release process #347

Open
JDawes-ScottLogic opened this issue Sep 14, 2017 · 0 comments
Open

Automate the release process #347

JDawes-ScottLogic opened this issue Sep 14, 2017 · 0 comments

Comments

@JDawes-ScottLogic
Copy link
Collaborator

The release process needs to be automated, as both @ColinEberhardt and myself have failed to release a correct version at the first time of asking. This should be a non-issue, as the CI tooling should be able to release, removing the risks associated with manually releasing.

With this in mind, the following options seem to be available:

Release Branch:

Have a dedicated branch for releasing from. Update the version, then merge to the branch, allowing CI to detect this and trigger a release.

Pros:

  • Simple to setup
  • Works with existing process (lerna independent versioning)

Cons:

  • Requires manual intervention to release.
  • Releases only contain a subset of the code on master.
  • Documentation is therefore out of date.

Full CI release:

Setup CI to release whenever a merge is made to master.

Pros:

  • Release process is fully automated.
  • Fixes are released as soon as they are approved to master.
  • Documentation is fully up to date.

Cons:

  • Requires a lot more setup and configuration i.e. commitizen, sematic-release.

The manual step with a release branch is the logical first step to automating this, as it takes the process out of the developers hands and makes it reproducible. However, in the long term it makes sense to remove all developer involvement in the releases and to let the CI handle the release. Discussions about this have started in #232 .

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant