Skip to content

internal: Bootstrap sbt-airframe in release workflows (release 2026.2.1)#4186

Merged
xerial merged 1 commit into
mainfrom
fix/release-sbt-airframe-bootstrap
Jul 2, 2026
Merged

internal: Bootstrap sbt-airframe in release workflows (release 2026.2.1)#4186
xerial merged 1 commit into
mainfrom
fix/release-sbt-airframe-bootstrap

Conversation

@xerial

@xerial xerial commented Jul 2, 2026

Copy link
Copy Markdown
Member

Why

The v2026.2.0 release partially failed. Every release workflow that loads the root build — Release Scala JVM / Scala.js / Scala Native / sbt-airframe — couldn't resolve sbt-airframe_sbt2_3:2026.2.0, because the root metabuild depends on the very plugin being released (the same bootstrap deadlock, now in the release path). Only the standalone Release AirSpec (no sbt-airframe dependency) succeeded — so airspec 2026.2.0 is live on Central, but the rest of the suite is not.

What this does

  • Adds the existing bootstrap-sbt-airframe composite action to the four release workflows so the root build can load.
  • In release-sbt-plugin.yml, the bootstrap runs before AIRFRAME_VERSION is set, so the plugin's own airframe-* deps resolve from the last released version on Maven Central rather than the not-yet-built release version — breaking the circular dependency. The subsequent projectJVM/publishLocal then produces the real 2026.2.1 libs, and the authoritative publishSigned builds sbt-airframe against them.
  • Bumps SBT_AIRFRAME_VERSION defaults and the bootstrap version to 2026.2.1.

Recovery plan

airspec 2026.2.0 is already published and Central versions are immutable, so instead of rewriting the released tag we cut a fresh patch. After merge: tag v2026.2.1 → all release workflows publish the complete 2026.2.1 suite. 2026.2.0 remains a harmless partial (only airspec, which the main build doesn't depend on — it pins AIRSPEC_VERSION=24.12.1).

Once 2026.2.1 is confirmed on Central, the temporary CI + release bootstrap can be removed.

🤖 Generated with Claude Code

The v2026.2.0 release partially failed: every release workflow that
loads the root build (Scala JVM/JS/Native and sbt-airframe) couldn't
resolve the not-yet-published sbt-airframe plugin - the same bootstrap
deadlock, now in the release path. Only the standalone AirSpec release
(no sbt-airframe dependency) succeeded, publishing airspec 2026.2.0.

Add the bootstrap-sbt-airframe composite action to the four release
workflows. In release-sbt-plugin.yml it must run before AIRFRAME_VERSION
is set, so the plugin's own deps resolve from the last released airframe
on Maven Central instead of the version being built (breaking the cycle).

Since airspec 2026.2.0 is already on Central (versions are immutable),
cut a new patch 2026.2.1 for the complete suite rather than rewriting
the released tag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added bug internal Internal changes (usually non-user facing) labels Jul 2, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

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.

Code Review

This pull request updates the sbt-airframe version from 2026.2.0 to 2026.2.1 across the GitHub action configuration and various plugins.sbt build files. I have no feedback to provide on these changes.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@mergify

mergify Bot commented Jul 2, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@xerial
xerial merged commit a46696a into main Jul 2, 2026
24 checks passed
@xerial
xerial deleted the fix/release-sbt-airframe-bootstrap branch July 2, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug internal Internal changes (usually non-user facing)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant