I have a project configured to run pipelines on each commit. Now I have added a tag to a specific hash. Unfortunately, when I rebuild the tag, it just rebuilds the same hash (makes sense, it is the same hash) but it will not add the tag information, therefore the build isn’t setup correctly as our build steps treat tags differently.
To mitigate this, I deleted the pipeline for the specific hash, and then tried to rebuild it by going to ‘CI/CD - pipelines - run pipeline’ and add the tag in the box.
see screenshot:
I get an error message saying something went wrong, but no helpful information or even tips on where to go for more information.
This is running on gitlab.com
I tried a few times, to no avail.
snim2
July 28, 2022, 1:31pm
2
That’s weird! On that page where you’ve taken the screenshot, can you see the tag if you scroll down the drop-down list under Run for branch name or tag ?
Does the pipeline need a variable?
it’s in the dropdown, as seen on the screenshot
The pipeline uses variables (they should be inherited from the group) but could theoretically also run without them.
Is there any way I can get support on this issue? This is really interfering with my workflow
snim2
August 17, 2022, 8:33am
5
Can you paste your .gitlab-ci.yml
file?
variables:
DOCKERFILE_LOCATION: docker/Dockerfile
DOCKERFILE_MD5_HASH: 4273cacffdf398b73435ff27ad796192
METRICS_FILE: metrics.txt
# the following script makes sure DOCKER_IMAGE is ready
# it requires both DOCKERFILE_LOCATION and DOCKERFILE_MD5_HASH
# to be set
include:
- project: <company_name>/gitlab_ci_tools
file: setup_ssh_access.yml
- project: <company_name>/gitlab_ci_tools
file: check_and_build_docker_image.yml
- project: <company_name>/gitlab_ci_tools
ref: c5a3795f0f1e3ae098fee9cdac015a0a38c273e1
file: upload_and_release.yml
stages:
- prepare_docker
- build
- test
- upload
build:
image: $DOCKER_IMAGE
stage: build
script:
- !reference [.ssh_access, script]
- !reference [.upload_base, script]
- test ! -z "$SSH_BOOTLOADER_PRIVATE_KEY" && test -f "$SSH_BOOTLOADER_PRIVATE_KEY" && cp "$SSH_BOOTLOADER_PRIVATE_KEY" private.key
- mkdir ssh_${CI_COMMIT_SHORT_SHA}
- pushd ssh_${CI_COMMIT_SHORT_SHA}
- echo "set( GRAPHVIZ_GENERATE_PER_TARGET FALSE )" > CMakeGraphVizOptions.cmake
- echo "set( GRAPHVIZ_GENERATE_DEPENDERS FALSE )" >> CMakeGraphVizOptions.cmake
- cmake --graphviz=dependencies_${CI_COMMIT_SHORT_SHA}.dot ..
- cmake --build .
- ctest . --output-junit test_result.xml
- echo -n "binary-size " >> $METRICS_FILE
- arm-none-eabi-size ./src/ssh_light.hex | grep 'ssh_light.hex' | cut -f 2 | tr -d \ >> $METRICS_FILE
- dot -Tpng -o smartshoulder_${CI_COMMIT_SHORT_SHA}.png dependencies_${CI_COMMIT_SHORT_SHA}.dot
- upload_file "Dependencies" "dependencies_${CI_COMMIT_SHORT_SHA}.dot"
- upload_file "Dependencies" "smartshoulder_${CI_COMMIT_SHORT_SHA}.png"
artifacts:
reports:
metrics: ./ssh_${CI_COMMIT_SHORT_SHA}/$METRICS_FILE
junit: ./ssh_${CI_COMMIT_SHORT_SHA}/test_result.xml
paths:
- ./ssh_${CI_COMMIT_SHORT_SHA}/ssh_light_tests/bin/ssh_light_test
- ./ssh_${CI_COMMIT_SHORT_SHA}/src/*${CI_COMMIT_SHA}*
- ./ssh_${CI_COMMIT_SHORT_SHA}/$METRICS_FILE
- ./ssh_${CI_COMMIT_SHORT_SHA}/test_result.xml
expire_in: 30 days
upload changelog:
stage: upload
rules:
- if: $CI_COMMIT_TAG =~ /^release\/lite\/([Vv])(?:.[0-9.]+)+$/
script:
- !reference [.upload_base, script]
- upload_file "Firmware/SSH/Light_version" "CHANGELOG.md"
needs:
- job: build
artifacts: true
- job: build
artifacts: false
upload ssh_lite:
stage: upload
rules:
- if: $CI_COMMIT_TAG =~ /^release\/lite\/([Vv])(?:.[0-9.]+)+$/
script:
- !reference [.upload_base, script]
- export VERSION="${CI_COMMIT_TAG##*/}"
- export SHAREPOINT_FILE="ssh_light_${VERSION}_${CI_COMMIT_SHORT_SHA}.zip"
- export VERSIONNUMBER="${CI_COMMIT_TAG##*/V}"
- mv "./ssh_${CI_COMMIT_SHORT_SHA}/src/ssh_light_${CI_COMMIT_SHA}.zip" ${SHAREPOINT_FILE}
- upload_file "Firmware/SSH/Light_version" "${SHAREPOINT_FILE}"
needs:
- job: build
artifacts: true
- job: build
artifacts: false
upload ssh_lite_emc:
stage: upload
rules:
- if: $CI_COMMIT_TAG =~ /^release\/lite\/([Vv])(?:.[0-9.]+)+$/
script:
- !reference [.upload_base, script]
- export VERSION="${CI_COMMIT_TAG##*/}"
- export SHAREPOINT_FILE="ssh_light_emc_${VERSION}_${CI_COMMIT_SHORT_SHA}.zip"
- export VERSIONNUMBER="${CI_COMMIT_TAG##*/V}"
- mv "./ssh_${CI_COMMIT_SHORT_SHA}/src/ssh_light_emc_${CI_COMMIT_SHA}.zip" ${SHAREPOINT_FILE}
- upload_file "Firmware/SSH/Light_version" "${SHAREPOINT_FILE}"
needs:
- job: build
artifacts: true
- job: build
artifacts: false
snim2
August 17, 2022, 9:08am
7
OK, I notice you don’t have a workflow
section . You might want to add something like:
workflow:
rules:
- if: $CI_MERGE_REQUEST_ID
when: never
- if: $CI_COMMIT_TAG
when: always
- when: always
if you only want to run pipelines for branches, or you’ll want to tweak the first part of those rules if you want MR pipelines. The docs have more details on this if you need to play around to get the right config.
If that doesn’t work, it’s probably worth checking the reg exp for your tags. It looks good to me, but sometimes Bash syntax is very fiddly.
Hello there, Im really sorry for bumping old thread, Im searching for similar information to fix my prob - I asked Mobilunity , can someone help me?