Gitlab cicd skip still show in pipeline

I use [ci skip] in my commit msg to aviod trigger pipeline.

But I dont want tot see a pipeline which is skipped in my cicd/pipelines like below.

What should I do?

Hey there,

In that case, you should make custom rules for whole pipeline creation. Use the workflow keyword to define rules when should your pipeline get created (and/or when not) - check out the keyword docs and some more examples on how to use it.

Hope this helps!

if I do nothing in pipeline it will fail…

That looks like yaml / configuration error.

If you want the community to help you further, please post your full (or problematic parts of) .gitlab-ci.yml

gitlab yaml is same.
The difference is commit message
"[skip ci] " is exist show skip.
"[skip ci] "is not exist show failed.

error full commit msg
“bump version 2023.5.0b12 → 2023.5.0b13 skip ci”

skip full commit msg

“bump version 2023.5.0b11 → 2023.5.0b12 skip ci [ci skip]”

my gitlab-yml

before_script:
- echo "Start to run $CI_JOB_NAME"

after_script:
- echo "$CI_JOB_NAME is done !!!"

variables:
GIT_STRATEGY: clone

stages:
- test
- bump
- build-pkg
- build-img
- deploy

.tmp_test:
stage: test
script:
- echo "${GITLAB_USER_NAME}"
# - echo "${GITLAB_USER_EMAIL}"

except:
variables:
- $CI_COMMIT_MESSAGE =~ /skip ci/

pytest:
stage: test
image: python:3.8
script:
- pip install tox tox-current-env setuptools setuptools_scm --upgrade
- tox -e pytest-report -r
# mock_starter is flag to simulate starter
coverage: '/TOTAL.*\s+(\d+%)$/'
artifacts:
paths:
- report.xml
- coverage.xml
reports:
junit: report.xml
coverage_report:
coverage_format: cobertura
path: coverage.xml
when: always
expire_in: 1 week
except:
refs:
- tag
variables:
- $CI_COMMIT_MESSAGE =~ /skip ci/

linting:
stage: test
image: python:3.8
script:
- pip install tox tox-current-env setuptools setuptools_scm --upgrade
- tox -e linting -r
except:
refs:
- tag
variables:
- $CI_COMMIT_MESSAGE =~ /skip ci/

flake8:
stage: test
image: python:3.8
script:
- pip install tox tox-current-env setuptools setuptools_scm --upgrade
- tox -e flake8 -r
except:
refs:
- tag
variables:
- $CI_COMMIT_MESSAGE =~ /skip ci/

bump-dev-version:
stage: bump
image: python:3.8
only:
refs:
- DEV
script:
- pip install bumpver
- REPO_URL=`echo "$CI_REPOSITORY_URL $TOKEN $USER" | sed 's/^.*\(@.*\)\s\(.*\)\s\(.*\)/https:\/\/\3:\2\1/g'`
- git remote set-url origin "$REPO_URL"
- echo "$REPO_URL"
- echo $REPO_URL
- git config [user.name](http://user.name) "${GITLAB_USER_NAME}"
- git config user.email "${GITLAB_USER_EMAIL}"
- git checkout $CI_COMMIT_BRANCH
- python3 -m bumpver update -n --tag-num -vv

except:
refs:
- tags
variables:
- $CI_COMMIT_MESSAGE =~ /skip ci/
- $CI_COMMIT_MESSAGE =~ /bump-month/
- $CI_COMMIT_MESSAGE =~ /monthly-release/

bump-prod-version:
stage: bump
image: python:3.8
only:
refs:
- PROD
script:
- pip install bumpver
- git config http.sslverify false
- REPO_URL=`echo "$CI_REPOSITORY_URL $TOKEN $USER" | sed 's/^.*\(@.*\)\s\(.*\)\s\(.*\)/https:\/\/\3:\2\1/g'`
- git remote set-url origin "$REPO_URL"
- echo "$REPO_URL"
- echo $REPO_URL
- git config [user.name](http://user.name) "${GITLAB_USER_NAME}"
- git config user.email "${GITLAB_USER_EMAIL}"
- git checkout $CI_COMMIT_BRANCH
- python3 -m bumpver update -n --tag=final -vv
except:
refs:
- tags
variables:
- $CI_COMMIT_MESSAGE =~ /skip ci/

build-pkg:
stage: build-pkg
image: python:3.8
only:
refs:
- DEV
- PROD
script:
- pip install -U setuptools setuptools_scm wheel
- pip install tox tox-current-env twine
- git checkout $CI_COMMIT_BRANCH && git pull
- echo "build dev pkg and upload"
# - export CURL_CA_BUNDLE=""
- tox -e packaging-linux-upload -r --current-env
except:
refs:
- tags
variables:
- $CI_COMMIT_MESSAGE =~ /skip ci/

build_image:
stage: build-img
image: docker:latest
only:
refs:
- DEV
services:
- docker:dind
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG -t $CI_REGISTRY_IMAGE:latest .
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
- docker push $CI_REGISTRY_IMAGE:latest

deploy_job:
stage: deploy
tags:
- my-docker
only:
refs:
- DEV
script:
- docker rm -f my-flask || true
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $CI_REGISTRY_IMAGE:latest
- docker run -d -p 5080:5080 --name my-flask $CI_REGISTRY_IMAGE:latest

I post my gitlab.yml above. Thank for the help