Pipeline Steps from another project - Cannot Authenticate

Problem to solve

I am creating re-usable steps to use as part of other pipelines. I have two projects

  • azure-steps
  • test-step

Azure-steps has the implementation of the build work I need done (at this point it is just a dummy echo).

Test-step tries to use the step from azure-steps

When I try and run the test-step pipeline, I receive the following error

Error: failed to run steps: step "build": failed to load: fetching git step: checking out repository: authentication required

In order to fix this, I have added the “test-step” project to “azure-steps” “job token permissions” (from settings → CI/CD → Job Token Permissions"), however this does not appear to make any difference.

I have not been able to find much on this issue, and there are examples of other people referencing the steps from other projects without issue.

Steps to reproduce

test-step project setup

My test-step .gitlab-ci.yml looks like this

 stages: [ setup, format, test, build ]
 
 build:
   run:
     - name: build
       step: gitlab.com/modules9682122/azure-steps@main

azure-steps project setup


my azure-steps .gitlab-ci.yml is like this

hello-world:
  run:
    - name: hello_everybody
      step: .

my azure-steps step.yml is like this

spec:
---
run:
  - name: hello_world
    step: ./hello
  - name: hello_steps
    step: ./hello
    inputs:
      who: gitlab steps

my azure-steps hello/step.yml is like this

pec:
  inputs:
    who:
      type: string
      default: world
---
exec:
  command:
    - bash
    - -c
    - echo 'hello ${{inputs.who}}'

Configuration

This is the job token permissions for the azure-steps project

Versions

Please add an x whether options apply, and add the version information.

  • Self-managed
  • GitLab.com SaaS
  • Dedicated

Versions

GitLab Enterprise Edition 18.1.0-pre 1ca614238d3

I encountered this issue and it was resolved by explicitly using the job token:

step: gitlab-ci-token:${{job.CI_JOB_TOKEN}}@gitlab.com/modules9682122/azure-steps@main