update-ci-images

Orchestrates rebuilding all Positron CI Docker images at one tag with a new Node version.

4.2k|179|Updated May 24, 2022
One-click install
npx skills add https://github.com/posit-dev/positron --skill update-ci-images
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-ci-images
Source: https://github.com/posit-dev/positron/tree/main/.claude/skills/update-ci-images
Command: npx skills add https://github.com/posit-dev/positron --skill update-ci-images

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Rebuilding Positron's seven CI images (six OS variants plus postgres) as multi-arch amd64+arm64 manifests is a long, error-prone manual process involving branch creation, Node version bumps across 12 compose files, workflow dispatches, and hours of monitoring with retries on flaky failures.

Core Features & Use Cases

  • End-to-end orchestration: Creates a branch and PR, bumps NODE_VERSION in all compose files, dispatches the build workflows with bounded concurrency, and monitors runs until all 7 builds pass.
  • Failure diagnosis and retry: Classifies failures as transient flakes versus real build errors, applies known fixes (PPM snapshot pinning, TinyTeX mirror pinning), and escalates after bounded retry budgets.
  • Use Case: A maintainer needs to roll Node 22.22.1 into every CI image at tag 2025.06.0; the skill drives the entire rebuild and leaves a green PR open for human review.

Quick Start

Rebuild all CI images at tag 2025.06.0 with Node 22.22.1 using at most 4 concurrent builds.

Frequently Asked Questions about update-ci-images

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I rebuild all Positron CI Docker images with a new Node version?

Invoke the skill with a tag and full Node version, optionally a concurrency limit. It creates an update-images/<tag> branch, bumps NODE_VERSION in all 12 compose files, opens a PR, dispatches the build workflows, and monitors them to completion.

How does the skill handle failed GitHub Actions build runs?

It classifies failures by signature: transient flakes are re-dispatched up to 5 times with no code change, while real build errors get a minimal fix committed and pushed before re-dispatch. It escalates after 3 failed fix attempts on the same root cause.

Does the skill build both amd64 and arm64 architectures?

Yes. Each dispatched workflow run builds both architectures as a matrix on native runners and merges them into a single multi-arch manifest list, so there is one run per image rather than per architecture.

Why does the R package install fail during the Docker image build?

Common causes are the PPM latest publish-window race causing intermittent 404s, or a source package needing newer system libraries than the distro ships. The fix pins the build-time dev-deps install to a dated PPM snapshot via the PPM_SNAPSHOT build arg.

Does the skill merge the PR after all builds pass?

No. When all 7 builds are green it ticks the PR checklist, adds a summary comment listing the pushed manifest tags, and leaves the PR open for human review. Merging is intentionally a manual decision.