Allow the commit workflow to release a new version of the tap
Description of change
Smaller Jobs
This PR breaks the one build job into several jobs that we tell Circle to run in parallel. The workflow starts by creating the virtualenv as usual. Then we fan out and allow every test to run. There's a final build step that acts as a check that all of the tests were green. If any test fails, the build step fails and blocks a PR from merging.
Auto Deploy
This PR also adds a new job to the commit workflow, deploy. When the version changes in the PR and the squash commit is made to master, the workflow attempts to deploy a new version. If there is a clashing git tag, the job fails and the deploy is blocked.
Manual QA steps
Risks
There's a downside to allowing the deploy job fail if git tag encounters a clashing tag. Our metrics in Circle will start to reflect the failing jobs
Summary of Changes
Description of change
Smaller Jobs
This PR breaks the one
build
job into several jobs that we tell Circle to run in parallel. The workflow starts by creating the virtualenv as usual. Then we fan out and allow every test to run. There's a finalbuild
step that acts as a check that all of the tests were green. If any test fails, thebuild
step fails and blocks a PR from merging.Auto Deploy
This PR also adds a new job to the
commit
workflow,deploy
. When the version changes in the PR and the squash commit is made to master, the workflow attempts to deploy a new version. If there is a clashing git tag, the job fails and the deploy is blocked.Manual QA steps
Risks
There's a downside to allowing the deploy job fail if
git tag
encounters a clashing tag. Our metrics in Circle will start to reflect the failing jobsRollback steps