In .github/workflows/tests@v1.yml (branch scylla-4.x), the two Scylla steps that invoke make
pass only the resolved value, never the matrix value:
- name: Download Scylla (${{ steps.scylla-version.outputs.value }}) image
env:
SCYLLA_VERSION_RESOLVED: ${{ steps.scylla-version.outputs.value }}
run: make download-scylla
- name: Run integration tests on Scylla (...)
env:
SCYLLA_VERSION_RESOLVED: ${{ steps.scylla-version.outputs.value }}
run: make test-integration-scylla
Both download-scylla and test-integration-scylla declare resolve-scylla-version as a
prerequisite, and each step is a fresh make process, so the resolver re-runs in both — under the
Makefile default SCYLLA_VERSION ?= LATEST rather than the lane's actual matrix value. Each step
therefore performs a redundant Docker Hub lookup and writes /tmp/scylla-version-LATEST.resolved
instead of the file keyed to the matrix entry.
The outcome is currently correct, because SCYLLA_VERSION_RESOLVED from the step env wins over the
cache file, so this is waste rather than a wrong version. The Get scylla version step and both
Cassandra steps already pass their matrix value.
Fix: add SCYLLA_VERSION: ${{ matrix.scylla-version }} to both steps.
While here: Makefile:17 defaults GET_VERSION_VERSION ?= 0.4.3 while the workflow overrides it to
0.4.5 in three places — worth aligning so a local run uses the same resolver as CI.
Found while auditing version resolution for DRIVER-924.
In
.github/workflows/tests@v1.yml(branchscylla-4.x), the two Scylla steps that invoke makepass only the resolved value, never the matrix value:
Both
download-scyllaandtest-integration-scylladeclareresolve-scylla-versionas aprerequisite, and each step is a fresh
makeprocess, so the resolver re-runs in both — under theMakefiledefaultSCYLLA_VERSION ?= LATESTrather than the lane's actual matrix value. Each steptherefore performs a redundant Docker Hub lookup and writes
/tmp/scylla-version-LATEST.resolvedinstead of the file keyed to the matrix entry.
The outcome is currently correct, because
SCYLLA_VERSION_RESOLVEDfrom the step env wins over thecache file, so this is waste rather than a wrong version. The
Get scylla versionstep and bothCassandra steps already pass their matrix value.
Fix: add
SCYLLA_VERSION: ${{ matrix.scylla-version }}to both steps.While here:
Makefile:17defaultsGET_VERSION_VERSION ?= 0.4.3while the workflow overrides it to0.4.5in three places — worth aligning so a local run uses the same resolver as CI.Found while auditing version resolution for DRIVER-924.