@dmsi/release-middleware
v0.1.0
Published
A tool to tag and release each middleware api service.
Downloads
1
Keywords
Readme
Release Middleware
At DMSi we have a growing number of Golang middleware services that each need to be tagged, released, and versioned at the end of every version.
Release Middleware attempts to take a monorepo approach to releasing each package/repo with a single command.
Assumptions
Use of release middleware assumes that you have all of the current middleware services pulled down. If you're not sure what you're missing run this in your terminal:
curl -X POST -H "Content-Type: application/json" "https://miami.dmsi.com/graphql" -d "{ \"query\": \"query M { meta { services } }\" }" | python -m json.tool
In addition it is important to ensure that you have recently run go get
in each repository to ensure their dependencies are up-to-date. This step will likely be automated in a future version.
Running
To run release-middleware simply run:
npx release-middleware --a <agility version>
This will checkout the latest changes on each develop branch (any local changes will be reset in this step) and branch off into the appropriate release branch. Then add any changes are committed (usually an empty commit for posterity) and a release tag added. The release branch is then merged into master which also has previously had its latest changes pulled down. The master branch and tag are pushed up to origin and the script cleans up the local environment, deleting the local release branch and merging master into develop.