Skip to content

4.x: Scylla IT steps re-resolve the version under the default LATEST #1047

Description

@nikagra

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions