Commit graph

9 commits

Author SHA1 Message Date
Breadway
a32f5bf81a CI: add ISO build + release workflow
Some checks failed
Build and publish package / package (push) Failing after 1m32s
Mirror to GitHub / mirror (push) Successful in 3s
Build and publish bibata-cursor-theme / bibata (push) Failing after 31s
Build and publish powerlevel10k / powerlevel10k (push) Failing after 1m18s
release-iso.yml runs on v* tag pushes (or workflow_dispatch) on the hestia
self-hosted runner. It:
- Boots an archlinux container (--privileged --network=host)
- Downloads all bakery ecosystem binaries from their pinned GitHub releases
- Builds bread-theme from source at the tag in bos-settings/Cargo.toml
- Runs build-local.sh with CI_BUILD=1 + LAPTOP_HOME=/build-home
- Uploads the ISO to a Forgejo pre-release
- Creates a GitHub release pointing to Forgejo (GitHub 2 GB limit workaround)

build-local.sh: add CI_BUILD=1 mode — rewrites the [breadway] pacman repo
URL to localhost:3002 instead of the Tailscale address, since the CI
container runs on hestia with --network=host.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHr5CeufsAfTrt41XoApir
2026-06-18 20:54:46 +08:00
Breadway
db5728c0b3 Add bos-update + replicate the dev zsh shell
All checks were successful
Mirror to GitHub / mirror (push) Successful in 5s
Build and publish powerlevel10k / powerlevel10k (push) Successful in 1m10s
bos-update: one command that updates both BOS channels — pacman -Syu (snap-pac
snapshotted) and bakery update --all — best-effort so one failing doesn't abort
the other. Baked into the live env and skel.

Shell: match the dev laptop's zsh. Ship Powerlevel10k + zsh-autosuggestions,
zsh-history-substring-search and zsh-syntax-highlighting, sourced from the distro
packages (no oh-my-zsh framework) in the correct order, plus the dev .p10k.zsh.
Powerlevel10k is AUR-only, so it's republished to [breadway] via
packaging/powerlevel10k + a CI workflow (builds libgit2 + gitstatus from source),
same pattern as bibata / zen-browser-bin. skel/.zshrc keeps the BOS QoL aliases
and pywal palette import, with `update` aliased to bos-update.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 08:49:53 +08:00
Breadway
3dd53f3fe6 Republish bibata-cursor-theme to [breadway] (AUR-only upstream)
All checks were successful
Mirror to GitHub / mirror (push) Successful in 6s
Build and publish bibata-cursor-theme / bibata (push) Successful in 34s
Bibata is the chosen BOS default cursor but is AUR-only, so mirror the
prebuilt -bin package into the [breadway] repo the same way calamares and
zen-browser-bin are. The workflow clones the triggering branch (not the
default branch) so it can build from iso-boot-fix, and uses the scoped
REGISTRY_TOKEN for publishing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 13:01:38 +08:00
Breadway
5a14288025 Add in-house Calamares package (AUR-only upstream)
All checks were successful
Mirror to GitHub / mirror (push) Successful in 4s
Build and publish calamares / calamares (push) Successful in 2m36s
Calamares isn't in Arch's official repos, so BOS vendors the PKGBUILD and
publishes a built package to the [breadway] repo. All its deps are official
(kpmcore, qt6-*, yaml-cpp). Also drop the nonexistent calamares-qt6 from the
package list (calamares 3.4.x is already Qt6).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 23:39:39 +08:00
Breadway
1bcd9588de Fix bos-settings compile errors and use REGISTRY_TOKEN for publishing
All checks were successful
Mirror to GitHub / mirror (push) Successful in 4s
bos-settings was scaffolded but never compiled. Fixes:
- main.rs: import gtk4::prelude (connect_activate/run)
- window.rs: disambiguate WidgetExt::display(); drop unused GBox import
- hyprland.rs: Label has no set_monospace -> use the monospace CSS class
- theme.rs: drop unused prelude import

Also switch package.yml to secrets.REGISTRY_TOKEN (scoped write:package),
since the auto Actions token is not authorized for the owner registry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 22:54:27 +08:00
Breadway
7ef51e8722 Clone from public URL, not GITHUB_SERVER_URL (resolves to localhost in runner)
All checks were successful
Mirror to GitHub / mirror (push) Successful in 4s
The Forgejo runner injects GITHUB_SERVER_URL as http://localhost:3002, which
is unreachable from inside the job container. Use the public URL instead.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 16:14:12 +08:00
Breadway
c259aa9e93 Rename mirror secret to MIRROR_TOKEN (GITHUB_ prefix is reserved)
Some checks failed
Mirror to GitHub / mirror (push) Failing after 2s
Forgejo/gitea rejects user secret names starting with GITHUB_.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 16:10:39 +08:00
Breadway
769b6283e0 Fix Forgejo workflows for the actual server capabilities
Some checks failed
Mirror to GitHub / mirror (push) Failing after 2s
- package.yml: use correct Arch registry upload (octet-stream + binary body
  + PUT /api/packages/Breadway/arch/os), drop --privileged, remove
  actions/checkout (archlinux image has no Node) in favour of a manual
  shell clone, use the built-in Actions token instead of a stored secret,
  and --nocheck (tests belong in CI, not packaging)
- mirror.yml: clone --mirror + explicit refs/heads + refs/tags push with
  --prune, instead of pushing refs/remotes pollution from a checkout
- pacman.conf: correct Server URL to the Forgejo Arch registry format

Requires only the GITHUB_MIRROR_TOKEN secret (GitHub PAT, repo scope) for
the mirror job; package publishing uses the automatic per-run token.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 16:01:50 +08:00
Breadway
2c6feb4ea0 Add Forgejo Actions workflows and fix [breadway] repo URL
Some checks failed
Mirror to GitHub / mirror (push) Failing after 2s
- .forgejo/workflows/mirror.yml: mirrors every push/tag to GitHub
- .forgejo/workflows/package.yml: builds PKGBUILD on tag and publishes
  bos-settings to the Forgejo Arch package registry (distrib=breadway)
- iso/pacman.conf: replace placeholder repo.breadway.dev with the actual
  Forgejo package registry URL

Requires two Forgejo secrets:
  GITHUB_MIRROR_TOKEN — GitHub PAT with repo push scope
  FORGEJO_TOKEN       — Forgejo token with package:write scope

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 11:42:00 +08:00