Set up automated releases
Configure the project to be released automatically. This will require a coordination between the project build and CI server.
The following things should happen on a release:
- The software should be packaged from a tag
- The software should be published to npm
This list will evolve over time. Any additional steps will be addressed in separate issues.
To start, we will take the approach of creating the tag locally, pushing it, and having the CI job detect the new tag and create a release based on it. This requires documenting how the tag should be created (from which commit, how to name it, what message to use, which order to push things).
Acceptance criteria:
-
An automated user has been set up to release the software to npm (opendevise) -
A deploy step is configured in the CI job configuration to detect a tag -
The release is handled entirely by the deploy step in the CI job (npm publish) -
Document this release process in releasing.adoc
We'll need to revisit the setup in the future to add additional functionality, such as automatically closing the milestone in the issue tracker, updating the CHANGELOG, publishing an announcement Tweet, and other such tasks which can be automated.