Skip to content

ci: cut the migration tarball from the minimal migration image - #519

Merged
mrosseel merged 1 commit into
brickbots:releasefrom
mrosseel:release-minimal-tarball
Jul 4, 2026
Merged

ci: cut the migration tarball from the minimal migration image#519
mrosseel merged 1 commit into
brickbots:releasefrom
mrosseel:release-minimal-tarball

Conversation

@mrosseel

@mrosseel mrosseel commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

The migration tarball release asset is now built from the minimal migration image (images.pifinder-migration) instead of the full SD image.

  • The minimal system downloads the full PiFinder system from the update manifest at first boot (ADR 0003/0004), so the tarball works regardless of when it was built.
  • The previous full-system tarball was ~1.4 GB per release and froze migrated devices to the tarball's build date.
  • Both build jobs now also build and upload the migration image; the release job requires both artifacts and tars the minimal one.
  • The full SD image asset (fresh-flash path) is unchanged.

🤖 Generated with Claude Code

@mrosseel
mrosseel merged commit ea0549a into brickbots:release Jul 4, 2026
5 checks passed
brickbots added a commit that referenced this pull request Jul 31, 2026
release had accumulated CI work that was never on main (#514, #515,
#516, #519, #522, #545), and both branches had independently applied the
same focus-technique docs (#546 on main, #547 on release) and the same
manifest/PR-builder changes. Merging release in first makes the coming
main -> release promotion clean instead of carrying four conflicts into
the release cut.

Four conflicts, each resolved by taking one side wholesale -- none was a
semantic disagreement, only the same work committed twice:

  .github/scripts/update_manifest.py    -> release
      Strict superset: newest-first entry ordering plus the
      --migration-url / --migration-sha256-url arguments from #516.
      main had nothing release lacked.

  .github/workflows/nixos-pr-build.yml  -> release
      Genuinely divergent designs. main (#493) polls a self-hosted Pi5
      first via a native-wait job, falling back to a hosted arm64
      runner; release (#495 + #545) was re-architected ARM-primary with
      the Pi5 as last-resort fallback, drops the polling job, and adds
      allow-unsafe-pr-checkout for fork PRs under pull_request_target.
      release's is the newer and hardened design.

  docs/source/quick_start.rst           -> main
  docs/source/troubleshooting.rst       -> main
      Both branches carry the same small-turn focus technique, but
      release applied it to the old Focus screen's prose (+/- zoom to
      2x/4x). main describes the rebuilt screen from #531 -- magnified
      star tiles, SQUARE cycling to the Image view, the central HFD --
      which is what 2.6.1 actually ships.

Net effect: main gains the release-only CI (release.yml, workflow_dispatch
only, so nothing fires on merge) and keeps its own newer docs. No source
changes. 1100 unit+smoke tests pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant