Skip to content

ci(macos): pass --update to conan install for recipe-revision resilience#116

Merged
facontidavide merged 1 commit into
mainfrom
ci/macos-conan-update
May 29, 2026
Merged

ci(macos): pass --update to conan install for recipe-revision resilience#116
facontidavide merged 1 commit into
mainfrom
ci/macos-conan-update

Conversation

@facontidavide
Copy link
Copy Markdown
Contributor

Problem

macOS CI on main has been failing because there is no prebuilt plotjuggler_core binary for macOS in Cloudsmith — the core release.yml publishes only a Linux/gcc binary. Every macOS run therefore builds core from source via --build=missing.

When a core version is re-published (its recipe revision changes on the remote) the restored Conan cache can keep pointing at the superseded revision, whose exported sources no longer exist on the remote. The build then fails hard:

ERROR: The 'plotjuggler_core/0.5.0' package has 'exports_sources' but sources not found in local cache.
Probably it was installed from a remote that is no longer available.

This is what happened when v0.5.0 was re-published mid-run: the macOS job (slowest, still building Arrow/protobuf) resolved the old recipe revision, which was overwritten before it reached the core build. Linux dodged it (downloads its binary); Windows finished its from-source core build before the re-publish.

Fix

Add --update to the conan install in ci-macos.yml. It forces re-resolution of the current recipe revision (and its sources) from the remote on every run, instead of trusting whatever revision is in the restored cache.

This is the immediate, low-risk unblock. The durable fix — publishing a macOS binary so this job downloads core instead of compiling it — is in PlotJuggler/plotjuggler_core#108. --update remains a useful safety net afterward for any settings combo that misses the published binary.

🤖 Generated with Claude Code

macOS has no prebuilt plotjuggler_core binary in Cloudsmith (the core
release job publishes only a Linux binary), so every macOS run builds
core from source. When a core version is re-published (its recipe
revision changes on the remote), a restored Conan cache can keep pointing
at the superseded revision, whose exported sources no longer exist —
yielding "exports_sources but sources not found in local cache" and a
hard failure. --update forces re-resolution of the current recipe
revision + sources from the remote on every run.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@facontidavide facontidavide merged commit 5a838c9 into main May 29, 2026
26 checks passed
@facontidavide facontidavide deleted the ci/macos-conan-update branch May 29, 2026 15:22
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