Hi there!
I’m trying to setup a continuous delivery structure that essentially just tags and deploys any commits made to master
.
Here is the rough idea:
workflows:
test-tag:
jobs:
- test:
filters:
branches:
only: /master/
- tag:
requires:
- test
deploy:
jobs:
- production-deploy:
filters:
tags:
only: /^v[0-9|\.]+$/
branches:
ignore: /.*/
With the test-tag
workflow, what happens is whenever a commit is made to master
it will run tests and then tag the current state of the branch to something like v1.1.1
. The deploy
workflow will then respond to the new tag being created and deploy it.
The problem is that when the tagging happens, it creates a commit+push to master
, thus re-triggering the test-tag
workflow again, leading to a circular workflow!
I’m aware of [ci-skip]
but I want to avoid this because it can create unexpected behaviours when other developers are syncing their branches with master
as it will skip running tests on that initial merge.
Would love to hear if there’s some solution to this problem, or if perhaps I’m structuring my workflow in a strange way.
Cheers!