From 8d39c91db0ee21659946901997e53c9d39739a3c Mon Sep 17 00:00:00 2001 From: Andrew Jong Date: Sat, 29 Aug 2026 18:05:31 -0400 Subject: [PATCH] =?UTF-8?q?Bump=20version=20to=200.21.0-dev.0;=20fix=20pos?= =?UTF-8?q?t-release=20main=E2=86=92develop=20sync=20skip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First version on the new -dev.N pre-release line (replacing -alpha.N as of release 0.20.0). Also fixes sync-develop-from-main to skip only when main is already an ancestor of develop: the old tree-diff skip fired right after every release (merge result content-identical to develop), so the workflow never pushed the ancestry-advancing merge commit or rolled develop's VERSION forward — both had to be done by hand. Co-Authored-By: Claude Fable 5 --- .env | 2 +- .github/workflows/sync-develop-from-main.yaml | 11 ++++++++--- airstack.yaml | 2 +- docs/release_notes/index.md | 7 ++++++- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.env b/.env index e05d98869..cef63ac62 100644 --- a/.env +++ b/.env @@ -12,7 +12,7 @@ PROJECT_NAME="airstack" # If you've run ./airstack.sh setup, then this will auto-generate from the git commit hash every time a change is made # to a Dockerfile or docker-compose.yaml file. Otherwise this can also be set explicitly to make a release version. # auto-generated from git commit hash -VERSION="0.20.0" +VERSION="0.21.0-dev.0" # Image-tag discriminator ONLY (appears in the image tag suffix, e.g. ..._robot-x86-64_dev). # No Dockerfile consumes it: "prebuilt" does NOT bake the built ros_ws into the image today — # a real prebuilt (workspace-baked) stage is future work. Keep "dev" (mounted code, built live). diff --git a/.github/workflows/sync-develop-from-main.yaml b/.github/workflows/sync-develop-from-main.yaml index 25d85d5b1..135a91863 100644 --- a/.github/workflows/sync-develop-from-main.yaml +++ b/.github/workflows/sync-develop-from-main.yaml @@ -42,9 +42,14 @@ jobs: git -c core.editor=true commit --no-edit fi - # If develop already contained everything main has, nothing to do. - if git diff --quiet origin/develop..HEAD; then - echo "develop already up to date with main; nothing to sync." + # Skip only when main is already in develop's ancestry. A tree + # diff is the wrong check here: right after a release, the merge + # result is content-identical to develop, but the merge commit + # must still be pushed (it advances the develop↔main merge base, + # preventing spurious conflicts on the next release PR) and the + # VERSION roll-forward below must still happen. + if git merge-base --is-ancestor origin/main origin/develop; then + echo "main is already an ancestor of develop; nothing to sync." echo "SKIP=true" >> $GITHUB_ENV fi diff --git a/airstack.yaml b/airstack.yaml index ea25c8350..a2b3d420f 100644 --- a/airstack.yaml +++ b/airstack.yaml @@ -18,7 +18,7 @@ # file is future work — launch behavior without --fleet is unchanged). # Informational: the trunk release this checkout tracks (see `.env` VERSION). -release: "0.20.0" +release: "0.21.0-dev" # The fleet this checkout flies (config/fleets/*.yaml — RFC #380 §2). # sim_one_default == today's defaults: one quad_default on full_default. diff --git a/docs/release_notes/index.md b/docs/release_notes/index.md index 8d9d7e38c..804bcad84 100644 --- a/docs/release_notes/index.md +++ b/docs/release_notes/index.md @@ -19,7 +19,12 @@ its own notes. --> ## 0.21.0 (Unreleased) -- Nothing yet. +- **Fixed: post-release main→develop sync no longer skips.** The + `sync-develop-from-main` workflow skipped whenever the merge result was + content-identical to `develop` — exactly the situation right after a + release — so it never pushed the ancestry-advancing merge commit or + rolled `develop`'s VERSION forward. It now skips only when `main` is + already an ancestor of `develop`. ## 0.20.0 — 2026-08-29