Skip to content

ci: gate Conan 2 install by runner.environment (fix self-hosted exit 127) - #593

Merged
frstrtr merged 2 commits into
masterfrom
ci-steward/conan-selfhosted-gate
Jun 28, 2026
Merged

ci: gate Conan 2 install by runner.environment (fix self-hosted exit 127)#593
frstrtr merged 2 commits into
masterfrom
ci-steward/conan-selfhosted-gate

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Fleet-blocker: master CI red — conan: command not found (exit 127) on self-hosted

Not a code regression. The failing step is Detect Conan profile, right after Install Conan 2, on the self-hosted runner (VM905). On self-hosted, setup-python + pip install conan lands conan in a user-site path the next step's PATH does not see, shadowing the pre-provisioned /usr/local/bin/conan. github-hosted jobs are unaffected. A runner restart does NOT fix this — the runners are up and conan 2.29.1 is already installed.

Fix

Mirror the existing Install system dependencies gate (runner.environment): on github-hosted, pip install as before; on self-hosted, use the pre-provisioned conan and just verify it. Applied to all 10 Install Conan 2 steps:

  • build.yml (6)
  • coin-matrix.yml (1)
  • codeql-analysis.yml (1) — keeps the export PATH line in the github-hosted branch
  • release.yml (2)

Self-healing

This PR's own coin-matrix/CodeQL jobs run under the fix, so green CI here IS the validation.

No self-merge — flagging integrator for the merge tap once CI is green.

frstrtr added 2 commits June 28, 2026 01:04
On self-hosted runners (VM905) setup-python + pip install lands conan in
a user-site path the next step PATH does not see, shadowing the
pre-provisioned /usr/local/bin/conan and breaking Detect Conan profile
(exit 127). Mirror the existing system-deps gate: pip install only on
github-hosted; on self-hosted verify the pre-provisioned conan.

Covers all 10 Install Conan 2 steps across build.yml, coin-matrix.yml,
codeql-analysis.yml, release.yml.
The Windows (windows-2022) Install-Conan-2 step uses a bash
if/then/fi conditional but had no shell override, so it ran under
the default PowerShell and died with a ParserError (exit 1). The 5
Linux/macOS Install-Conan steps default to bash and were unaffected.
Pin shell: bash on the Windows step so the conditional parses. Last
red leg on the keystone self-hosted-runner CI gate.
@frstrtr
frstrtr merged commit b961a2f into master Jun 28, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant