Can't run pipeline (please try again)

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.

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

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

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.