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!