Skip to content

ci: add workflow to auto-bump viam-cpp-sdk#75

Merged
Ethan (stuqdog) merged 3 commits into
viam-modules:mainfrom
stuqdog:bump-viam-cpp-sdk-workflow
Jul 10, 2026
Merged

ci: add workflow to auto-bump viam-cpp-sdk#75
Ethan (stuqdog) merged 3 commits into
viam-modules:mainfrom
stuqdog:bump-viam-cpp-sdk-workflow

Conversation

@stuqdog

@stuqdog Ethan (stuqdog) commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Adds .github/workflows/bump-viam-cpp-sdk.yml — a daily scheduled workflow (plus workflow_dispatch) that opens/updates a PR bumping the viam-cpp-sdk conan pin in conanfile.py whenever a newer SDK release is published on viamrobotics/viam-cpp-sdk.

Why a custom workflow rather than Dependabot: the SDK is pinned via conan, which Dependabot has no ecosystem for.

  • Resolves the latest SDK release and the currently-pinned version; only bumps forward.
  • Rewrites the pin in conanfile.py.
  • Regenerates conan.lock via conan if the repo has one (realsense does; the #recipe-revision hash means a plain text replace is not enough).
  • Opens the PR with the org GIT_ACCESS_TOKEN bot secret (same one viam-python-sdk's update_protos uses) so the bump PR actually triggers CI.

Opened as a draft for review.

🤖 Generated with Claude Code


Also included: fix for the Windows CI break (unrelated to the SDK bump)

build-module-windows started failing on ~2026-06-28 when GitHub rolled the windows-latest image onto windows-2025-vs2026 (Visual Studio 18 "2026"). Conan then selects the Visual Studio 18 2026 CMake generator, and abseil's build invokes a cmake that doesn't recognize it (Could not create named generator) — nothing to do with this PR's contents. Every dep that built with cmake 4.1.2 (bzip2/c-ares/zlib/zstd) succeeded on the same runner.

Fix: pin the job to windows-2022 (VS 2022), so Conan emits Visual Studio 17 2022, which every cmake in the graph understands — matching the environment that passed on 2026-06-08.

Note: I first tried a narrower fix — a conan [tool_requires] override forcing abseil onto cmake ≥4 — but it didn't work: it removed cmake 3.31.9 from the graph, yet abseil's build() still executed an older cmake (its generator help topped out at Visual Studio 17 2022), so the scoped override never reached abseil's build PATH. Pinning the runner is the reliable fix. It's a stopgap until the abseil recipe / SDK dep graph supports VS 18.

Adds .github/workflows/bump-viam-cpp-sdk.yml, a daily scheduled workflow that
opens a PR bumping the viam-cpp-sdk conan pin whenever a newer SDK release is
published. Dependabot has no conan ecosystem, so the bump is done explicitly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@stuqdog Ethan (stuqdog) marked this pull request as ready for review June 29, 2026 18:44
@stuqdog Ethan (stuqdog) requested review from a team and martha-johnston July 2, 2026 17:43
As of ~2026-06-28 the windows-latest image became windows-2025-vs2026, which
ships Visual Studio 18 "2026". Conan then selects the "Visual Studio 18 2026"
CMake generator, which abseil's build cmake doesn't recognize, breaking the
build. Pin to windows-2022 (VS 2022) so Conan emits "Visual Studio 17 2022",
which every cmake in the graph understands. Stopgap until abseil/SDK support VS 18.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@stuqdog Ethan (stuqdog) force-pushed the bump-viam-cpp-sdk-workflow branch from 257b9c6 to ce9e59a Compare July 6, 2026 15:18
Comment thread .github/workflows/build.yml Outdated
# windows-latest image became windows-2025-vs2026, which ships Visual Studio
# 18 "2026"; Conan then picks the "Visual Studio 18 2026" CMake generator, and
# abseil's build invokes a cmake that doesn't recognize it ("Could not create
# named generator"), breaking the build. windows-2022 keeps VS 2022, so Conan

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this comment can probably just be "pin instead of using windows-latest which was recently bumped to a version that breaks conan"

Comment thread .github/workflows/bump-viam-cpp-sdk.yml Outdated
tag="$(gh release view --repo viamrobotics/viam-cpp-sdk --json tagName --jq .tagName)"
latest="${tag#releases/v}"
# Currently pinned version in conanfile.py, e.g. viam-cpp-sdk/0.31.0
current="$(grep -oE 'viam-cpp-sdk/[0-9]+\.[0-9]+\.[0-9]+' conanfile.py | head -1 | cut -d/ -f2)"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's get this somewhat more programatically using conan inspect . --format json | jq .version

@stuqdog Ethan (stuqdog) merged commit e056244 into viam-modules:main Jul 10, 2026
5 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.

3 participants