Skip to content

Add isolated ARM package channels and safe switching - #379

Open
scottjones wants to merge 16 commits into
omacom:quattrofrom
scottjones:feat/arm-channels-stable
Open

scottjones wants to merge 16 commits into
omacom:quattrofrom
scottjones:feat/arm-channels-stable

Conversation

@scottjones

Copy link
Copy Markdown
Collaborator

Stable, RC and edge currently share the legacy ARM edge endpoint, so an RC cannot be isolated from stable users. This adds client support for separate channel-stable, channel-rc and channel-edge snapshots. Dev uses edge packages plus a channel-capable Mac checkout.

Switches validate the complete published inventory before changing repositories, preserve ALARM/Asahi base repositories, keep the explicitly selected compositor packages signed, and complete updates using packaged commands after leaving dev. The standalone installer and recovery helper use the matching validator. Build support preserves upstream package identities: omarchy/settings for stable and RC, and omarchy-dev/settings-dev for edge/dev.

This is a minimal compatibility backport onto quattro (291a698), separate from the broader stabilization integration in #377. Source version stays 4.0.2; a separately validated compatibility package release is needed before enabling switches back to stable. Historical 4.0.2-2 snapshots are rejected for switching because they restore the old shared-edge client.

Depends on publisher infrastructure: omarchy-mac/omarchy-pkgs-aarch64#15 and populated, validated channel endpoints. Default quattro must contain channel-capable source before fresh dev cloning can succeed. No live client has been switched and no package release is claimed by this PR.

Validation: focused channel/recovery/preflight and real-pacman selection suites, metadata and syntax passed; independent code review passed. Final full local and hosted CI validation is in progress: https://github.com/scottjones/omarchy/actions/runs/34302123798 .

@scottjones
scottjones marked this pull request as ready for review September 9, 2026 05:47
@malik-na

malik-na commented Sep 9, 2026

Copy link
Copy Markdown
Member

Before merge, please link one end-to-end run against populated stable, RC, and edge endpoints, including stable → RC → stable. Fixture coverage does not prove the published inventories and signatures line up.

@malik-na

malik-na commented Sep 11, 2026

Copy link
Copy Markdown
Member

Found two blockers:

  • Edge manifest validation accepts mixed dev and stable package identities.
  • The required stable, RC, and edge channel manifests currently return 404.

Needs work: reject stable identities from edge manifests and publish the three channel manifests before merging.

@wesleygrimes wesleygrimes added defer Parked. Needs a decision, or may die with the fork. Do not close or port yet. and removed defer Parked. Needs a decision, or may die with the fork. Do not close or port yet. labels Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

defer Parked. Needs a decision, or may die with the fork. Do not close or port yet.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants