Skip to content

Commit e042567

Browse files
committed
ci: the release every job fetches is its own variable, so a change can be measured before it is released
`MCPP_VERSION` states the engine this collection needs, and that release may not exist yet: 0.19.0 is written against mcpp#755 and names 2026.10.1.3 while it is still a branch. Every fetch and every sandbox cache key now reads `MCPP_BOOTSTRAP`, the release that is published, and `mcpp_source_ref` builds the engine under review with it. The two meet again when that release exists.
1 parent 1fc2c37 commit e042567

1 file changed

Lines changed: 25 additions & 14 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
workflow_dispatch:
88
inputs:
99
mcpp_source_ref:
10-
description: "A branch or tag of mcpp-community/mcpp to build and run in place of the release MCPP_VERSION names"
10+
description: "A branch or tag of mcpp-community/mcpp to build and run in place of the release MCPP_BOOTSTRAP names"
1111
required: false
1212
default: ""
1313

@@ -68,6 +68,17 @@ env:
6868
# collection now declares, so a consumer that names its own tool downloads
6969
# nothing. An older engine refuses the manifest at the package floor.
7070
MCPP_VERSION: 2026.10.1.3
71+
# THE RELEASE EVERY JOB FETCHES, WHICH IS NOT ALWAYS THE ONE UNDER TEST.
72+
#
73+
# `MCPP_VERSION` states the engine this collection needs -- the package floor
74+
# (`[package] mcpp`) is the same statement -- and a release of it may not exist
75+
# yet: 0.19.0 was written against mcpp#755 and pinned 2026.10.1.3 before that
76+
# release was published. Every fetch therefore names this variable instead, and
77+
# the dispatch input `mcpp_source_ref` builds the engine under review with it.
78+
#
79+
# It moves to `MCPP_VERSION` once that release exists, so the ordinary path
80+
# runs the engine this collection states.
81+
MCPP_BOOTSTRAP: 2026.10.1.2
7182
# AN ENGINE BUILT FROM SOURCE, WHEN A DISPATCH NAMES ONE.
7283
#
7384
# Empty on every push and pull request, so the steps run the release above.
@@ -114,16 +125,16 @@ jobs:
114125
uses: actions/cache@v4
115126
with:
116127
path: ~/.mcpp
117-
key: mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_VERSION }}-${{ hashFiles('tests/*/mcpp.toml') }}
128+
key: mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_BOOTSTRAP }}-${{ hashFiles('tests/*/mcpp.toml') }}
118129
restore-keys: |
119-
mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_VERSION }}-
130+
mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_BOOTSTRAP }}-
120131
121132
- name: Fetch the released mcpp
122133
run: |
123134
curl -L -fsS --retry 3 --retry-all-errors -o mcpp.tar.gz \
124-
"https://github.com/mcpp-community/mcpp/releases/download/v${MCPP_VERSION}/mcpp-${MCPP_VERSION}-linux-x86_64.tar.gz"
135+
"https://github.com/mcpp-community/mcpp/releases/download/v${MCPP_BOOTSTRAP}/mcpp-${MCPP_BOOTSTRAP}-linux-x86_64.tar.gz"
125136
tar -xzf mcpp.tar.gz
126-
MCPP="$PWD/mcpp-${MCPP_VERSION}-linux-x86_64/bin/mcpp"
137+
MCPP="$PWD/mcpp-${MCPP_BOOTSTRAP}-linux-x86_64/bin/mcpp"
127138
"$MCPP" --version
128139
# THE BUNDLED xlings, NAMED EXPLICITLY BECAUSE `MCPP_HOME` IS PINNED.
129140
#
@@ -133,7 +144,7 @@ jobs:
133144
# with `xlings binary not found` -- measured. The override is needed
134145
# only for that first call: mcpp copies the binary into the pinned
135146
# home and answers from there afterwards.
136-
export MCPP_VENDORED_XLINGS="$PWD/mcpp-${MCPP_VERSION}-linux-x86_64/registry/bin/xlings"
147+
export MCPP_VENDORED_XLINGS="$PWD/mcpp-${MCPP_BOOTSTRAP}-linux-x86_64/registry/bin/xlings"
137148
"$MCPP" self config --mirror GLOBAL
138149
echo "MCPP=$MCPP" >> "$GITHUB_ENV"
139150
echo "MCPP_VENDORED_XLINGS=$MCPP_VENDORED_XLINGS" >> "$GITHUB_ENV"
@@ -1796,20 +1807,20 @@ jobs:
17961807
uses: actions/cache@v4
17971808
with:
17981809
path: ~/.mcpp
1799-
key: mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_VERSION }}-${{ hashFiles('tests/spirv-consumer/mcpp.toml') }}
1810+
key: mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_BOOTSTRAP }}-${{ hashFiles('tests/spirv-consumer/mcpp.toml') }}
18001811
restore-keys: |
1801-
mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_VERSION }}-
1812+
mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_BOOTSTRAP }}-
18021813
18031814
- name: Fetch the released mcpp
18041815
run: |
18051816
set -e
18061817
curl -L -fsS --retry 3 --retry-all-errors -o mcpp.pkg \
1807-
"https://github.com/mcpp-community/mcpp/releases/download/v${MCPP_VERSION}/mcpp-${MCPP_VERSION}-${{ matrix.asset }}"
1818+
"https://github.com/mcpp-community/mcpp/releases/download/v${MCPP_BOOTSTRAP}/mcpp-${MCPP_BOOTSTRAP}-${{ matrix.asset }}"
18081819
case "${{ matrix.asset }}" in
18091820
*.zip) unzip -q mcpp.pkg ;;
18101821
*) tar -xzf mcpp.pkg ;;
18111822
esac
1812-
dir="mcpp-${MCPP_VERSION}-${{ matrix.dir-suffix }}"
1823+
dir="mcpp-${MCPP_BOOTSTRAP}-${{ matrix.dir-suffix }}"
18131824
MCPP="$PWD/$dir/bin/mcpp"
18141825
"$MCPP" --version
18151826
# The bundled xlings, named explicitly because MCPP_HOME is pinned
@@ -2473,20 +2484,20 @@ jobs:
24732484
uses: actions/cache@v4
24742485
with:
24752486
path: ~/.mcpp
2476-
key: mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_VERSION }}-${{ hashFiles('tests/vcpkg-consumer/mcpp.toml') }}
2487+
key: mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_BOOTSTRAP }}-${{ hashFiles('tests/vcpkg-consumer/mcpp.toml') }}
24772488
restore-keys: |
2478-
mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_VERSION }}-
2489+
mcpp-sandbox-v2-${{ runner.os }}-${{ runner.arch }}-${{ env.MCPP_BOOTSTRAP }}-
24792490
24802491
- name: Fetch the released mcpp
24812492
run: |
24822493
set -e
24832494
curl -L -fsS --retry 3 --retry-all-errors -o mcpp.pkg \
2484-
"https://github.com/mcpp-community/mcpp/releases/download/v${MCPP_VERSION}/mcpp-${MCPP_VERSION}-windows-x86_64.zip"
2495+
"https://github.com/mcpp-community/mcpp/releases/download/v${MCPP_BOOTSTRAP}/mcpp-${MCPP_BOOTSTRAP}-windows-x86_64.zip"
24852496
case "windows-x86_64.zip" in
24862497
*.zip) unzip -q mcpp.pkg ;;
24872498
*) tar -xzf mcpp.pkg ;;
24882499
esac
2489-
dir="mcpp-${MCPP_VERSION}-windows-x86_64"
2500+
dir="mcpp-${MCPP_BOOTSTRAP}-windows-x86_64"
24902501
MCPP="$PWD/$dir/bin/mcpp"
24912502
"$MCPP" --version
24922503
# The bundled xlings, named explicitly because MCPP_HOME is pinned

0 commit comments

Comments
 (0)