There is my workflows:
workflows:
version: 2
build-test-deploy:
jobs:
- versions
- install
- test:
requires:
- install
- build:
requires:
- install
- deploy-pre:
requires:
- build
- test
filters:
tags:
only: /v.*/
- deploy-normal:
requires:
- deploy-pre
filters:
tags:
only: /v(\d)+(\.(\d)+)+/
- deploy-test:
requires:
- deploy-pre
filters:
tags:
only: /(v(\d)+(\.(\d)+)+)-(alpha|beta)/
The last 3 jobs are always excute
i try to add this code in filters
branchs:
ignore: /.*/
But when I add a tag in Github, it won’t execute too
Anyone meet the same problem?
How can I filter the job by tags?
halfer
September 28, 2018, 8:55am
2
xyy94813:
branchs
Spelling error - this should be branches.
If that does not fix it, see this demo file .
You’ll want to do the spelling fix that @halfer mentions.
Of the last 3 jobs, deploy-pre depends on build and test while all three depend on install, build and test indirectly. You aren’t telling CircleCI to run install, build and test on tags. Since they won’t run, none of their dependencies will.
For the example you provided and what I think is your desired behavior, here is what your workflow config should look like:
workflows:
version: 2
build-test-deploy:
jobs:
- versions
- install:
filters:
tags:
only: /v.*/
- test:
requires:
- install
filters:
tags:
only: /v.*/
- build:
requires:
- install
filters:
tags:
only: /v.*/
- deploy-pre:
requires:
- build
- test
filters:
branches:
ignore: /.*/
tags:
only: /v.*/
- deploy-normal:
requires:
- deploy-pre
filters:
branches:
ignore: /.*/
tags:
only: /v(\d)+(\.(\d)+)+/
- deploy-test:
requires:
- deploy-pre
filters:
branches:
ignore: /.*/
tags:
only: /(v(\d)+(\.(\d)+)+)-(alpha|beta)/
1 Like
it is really hard to reply in https://discuss.circleci.com
i have tried same thing
but it is still not work.
You didn’t try what I suggested as I don’t see the tag filters for build, test, and install in the GitHub config you just linked.
but i just want to filter the last 3 jobs deploy-pre, deploy-normal and deploy-test
and build , test , and install would be executed anytime
CircleCI will not run a job with a Git tag is pushed unless you tell it too in the config. It doesn’t do it by default.
Branches are on by default, tags are off by default.
1 Like
Then what should I do?
Do I need 2 workflows?
I have no idea.
You can use the Workflow I gave you in my post above.
it is working…
when i push a tag to origin, the tag will target new jobs.
but i can not see any new workflows in dashboard, so that i think it is not work.
it is better if i can see the workflows in dashboard. Just like the gitlab-ci
levlaz
September 29, 2018, 3:54am
12
I am not sure what you mean by this, could you elaborate?
I mean that i can see anything changed in [https://circleci.com/gh/xyy94813/workflows ], after i pushed a new tag to github
system
Closed
December 29, 2018, 11:28am
14
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.