Skip to content

"Change Channel and URL if Release Branch" does not change the URL, and its condition is always true on tags #103

Description

@gagelarsen

Cleanup, not a correctness bug — the current publishing behavior turns out to be right. Filing so the misleading parts don't cost someone an afternoon later.

Two problems in one step

github-ci.yaml.jinja (four occurrences, one per platform job):

- name: Change Channel and URL if Release Branch
  uses: allenevans/set-env@v2.0.0
  with:
    CONAN_CHANNEL: stable
    AQUAPI_URL: ${{ secrets.AQUAPI_URL_DEV }}
  if: ${{ startsWith(github.ref, 'refs/tags/') && startsWith(env.BRANCH_NAME, env.XMS_VERSION) }}

1. It does not change the URL. AQUAPI_URL is already secrets.AQUAPI_URL_DEV in the job's env: block, so the assignment is a no-op. The step name promises otherwise. AQUAPI_URL_STABLE (or any other AQUAPI_URL_*) has never existed in this repo — git log -S AQUAPI_URL_STABLE --all returns nothing.

2. The condition is effectively always true on tags. nelonoel/branch-name reports the tag name for a tag ref, so BRANCH_NAME equals XMS_VERSION and the startsWith always matches. Confirmed from an xmscore 7.0.13 job log: BRANCH_NAME: 7.0.13, XMS_VERSION: 7.0.13, CONAN_CHANNEL: stable. So every tagged release publishes to channel stable, not just release-branch tags. That may well be intended, but the step's name and condition both suggest a narrower trigger than what happens.

Why this is not a correctness bug

Wheels are split by toolchain across two indexes, and the split is correct as-is:

  • CI wheels — msvc 194 / gcc 13 / apple-clang 17, Python 3.10 / 3.13 / 3.14 — go to the dev index.
  • Hand-built VS2019 wheels — msvc 192, cp310 only — go to https://public.aquapi.aquaveo.com/aquaveo/stable, which is what the desktop products consume. Verified by reading that index: xmscore 7.0.12, xmsgrid 9.1.0, xmsinterp 7.0.11, all cp310-cp310-win_amd64, with zero cp313 or cp314.

CI therefore never needs a stable wheel URL. Nothing is being published to the wrong place.

Suggested fix

Pick whichever matches the intent:

  • If CI wheels should stay on dev (which the evidence says): drop the AQUAPI_URL line and rename the step to Change Conan Channel on Tags, so it says what it does. Consider dropping the BRANCH_NAME half of the condition too, since it never discriminates — that would also remove one use of nelonoel/branch-name, which is on the Node 20 list in Modernize GitHub Actions in the CI templates: Node 20 deprecation, one archived action, stale pins #102.
  • If a tagged release should publish wheels to a stable index: add the secret and actually reference it here, mirroring CONAN_CHANNEL. This is a behavior change and needs a decision, not just an edit.

Either way the step should stop claiming to do something it doesn't.

Blast radius

Template-only, affects all seven GitHub consumer repos on regeneration. Pairs naturally with #102, which already touches nelonoel/branch-name and every job in this template.

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions