Repository navigation
ci(release): publish the Conan package to JFrog Artifactory instead of Cloudsmith - #181
Merged
Merged
Conversation
…f Cloudsmith Switch the release workflow's remote to the PlotJuggler Artifactory Conan repository (plotjuggler.jfrog.io/artifactory/api/conan/plotjuggler-conan), the same remote pj-official-plugins resolves and primes, so an SDK release lands where consumers look for it. - Upload with the org-level JFROG_USER / JFROG_TOKEN secrets (already visible to this repo); the re-publish guard reads anonymously (the repository allows anonymous read) and now also recognises Artifactory's "404: Not Found" for an unpublished version alongside RECIPEUNKNOWN. - Build matrix aligned with the consumer images so the published package_ids are the ones downstream `conan install` computes: ubuntu-22.04, ubuntu-22.04-arm, macos-14, windows-2022, windows-11-arm. Replaces macos-15-intel (Intel macOS is not a supported target) and windows-latest; adds Linux aarch64 and Windows arm64. - Release notes and the CCI packaging README point at the JFrog remote. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
|
Second commit (from an independent Codex review of the diff):
Runner-image notes, no change made (producer and consumer share the labels, so they migrate together):
|
…osed
Review findings on the JFrog switch (inherited from the Cloudsmith version,
but they break the re-run path this workflow documents):
- workflow_dispatch derived the version from GITHUB_REF_NAME, which is the
branch ("main") on a manual run, so every retry / allow_republish run
failed the VERSION check with version "main". Derive tag and version
from the `tag` input, and pass the input through env instead of inline
interpolation.
- An unexpected error from the remote (anything but the recognised
"not found") used to log a warning and publish without the guard; the
later authenticated upload would then succeed even when the anonymous
read had failed with 401/403/5xx. Fail closed instead; allow_republish
remains the escape hatch.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Move SDK releases from Cloudsmith to the PlotJuggler JFrog Artifactory Conan repository — the remote
pj-official-pluginsalready resolves and primes (PlotJuggler/pj-official-plugins#278), so a released SDK binary lands exactly where consumers look for it instead of being rebuilt from source there.https://plotjuggler.jfrog.io/artifactory/api/conan/plotjuggler-conan, defined once as a workflowenv. Uploads use the org-levelJFROG_USER/JFROG_TOKEN(already visible to this repo — no new secrets). The re-publish guard reads anonymously (anonymous read is enabled on the repository)."error": "404: Not Found", notRECIPEUNKNOWN; without this the first release of every version would have fallen into the "proceeding without the guard" branch.ubuntu-22.04,ubuntu-22.04-arm,macos-14,windows-2022,windows-11-arm— the images pj-official-plugins CI/release use, so the publishedpackage_ids (gcc 11 / apple-clang 15 arm64 / msvc 194) match what downstreamconan installcomputes. Replacesmacos-15-intel(Intel macOS not a supported target) andwindows-latest; adds Linux aarch64 and Windows arm64.packaging/conan-center-index/README.mdnow point at the JFrog remote. No Cloudsmith reference remains in the repo.Verification
conan list "plotjuggler_sdk/*" -r plotjuggler-conanworks from a cleanCONAN_HOME;0.25.0(unpublished) returns the404: Not FoundJSON the guard now handles,0.24.0returns its revision.plotjuggler_sdkfrom source on every one of them.v*tag — first real exercise will be the next SDK release (v0.25.0is currentVERSION, not yet published on JFrog).Follow-ups
CLOUDSMITH_USER/CLOUDSMITH_API_KEYrepo secrets become unused after merge and can be deleted.linux-ci.yml/macos-ci.yml/windows-ci.ymlstill run onmacos-15-intel/windows-latest; aligning CI runners with the release matrix is a separate change.🤖 Generated with Claude Code