Say I have a perf test job, and I wanted to run this job manually when a new tag is pushed to remote.
Below is my full file and I have
perf_manual_job for the tag.
No matter I use
if: '$CI_PIPELINE_SOURCE == "push"' or
only: - tags, the pipeline is not triggered at all.
And if I choose tu run the pipeline for the git tag, it throws:
Pipeline filtered out by workflow rules.
I tried normal push, it seems working.
So could someone help? The goal is to trigger either a manual job or auto job when a git tag is pushed to master.
My full yaml is like:
stages: - build - test - perf_test build-job: stage: build script: - echo "Hello, $GITLAB_USER_LOGIN!" test_job: stage: test script: - echo "This job tests something" only: - merge_requests perf_test_mr_job: stage: perf_test needs: [test_job] allow_failure: true rules: - if: '$CI_MERGE_REQUEST_LABELS =~ /perf_test/' script: - echo $CI_MERGE_REQUEST_LABELS - echo "perf test for MR" - sleep 20 perf_manual_job: stage: perf_test allow_failure: true only: - tags script: - echo CI_COMMIT_TAG - echo "perf manual job" - sleep 5 perf_trigger_job: stage: perf_test allow_failure: true rules: - if: $CI_PIPELINE_TRIGGERED script: - echo $CI_PIPELINE_SOURCE - echo "triggered job." - sleep 10