Variables not passed corectly to downstream pipleline

Problem to solve

I am using Downstream pipelines. gitlab-ci.yaml of Project A:
variables:
GIT_STRATEGY: none
VERSION126: $VERSION
BUILD_VERSION: “${VERSION126}.${CI_PIPELINE_ID}”

stages:

  • build

test:
stage: build
variables:
VERSION4: $VERSION126
BUILD_VERSION2: “${VERSION4}.${CI_PIPELINE_ID}”
BUILD_VERSION3: “${VERSION}.${CI_PIPELINE_ID}”
VERSION2: $VERSION126
VERSION3: “${VERSION126}”
script:
- echo “VERSION126=$VERSION126”
- echo “VERSION4=$VERSION4”
- echo “BUILD_VERSION=$BUILD_VERSION”
- echo “BUILD_VERSION2=$BUILD_VERSION2”
- echo “BUILD_VERSION3=$BUILD_VERSION3”
- echo “VERSION2=$VERSION2”
- echo “VERSION3=$VERSION3”

downstream:
stage: build
needs:
- test
inherit:
variables: false
variables:
VERSION4: $VERSION126
BUILD_VERSION2: “${VERSION4}.${CI_PIPELINE_ID}”
BUILD_VERSION3: “${VERSION}.${CI_PIPELINE_ID}”
VERSION2: $VERSION126
VERSION3: “${VERSION126}”
trigger:
project: mygroup/project_b
branch: develop2
strategy: depend
forward:
pipeline_variables: true
yaml_variables: true
gitlab-ci.yaml of Project B:
stages:

  • build

build-job:
stage: build
script:
- echo “VERSION2=$VERSION2”
- echo “VERSION3=$VERSION3”
- echo “BUILD_VERSION=$BUILD_VERSION”
- echo “BUILD_VERSION2=$BUILD_VERSION2”
- echo “BUILD_VERSION3=$BUILD_VERSION3”

Here is the output:
VERSION2=
VERSION3=
BUILD_VERSION=
BUILD_VERSION2=.7954
BUILD_VERSION3=12.0.0.7954
Why is the variable VERSION4 not being passed to the downstream project? I can’t remove inherit: variables: false.

Versions

  • GitLab v17.3.2 self-managed GitLab instances
  • Gitlab runner windows 16.10.0