Commit graph

12 commits

Author SHA1 Message Date
Breadway
fe9ddbda57 CI: port breadcrumbs onto bread-ecosystem's shared Arch build image
All checks were successful
check / check (push) Successful in 41s
Adds ci/build.sh + ci/bread-ecosystem.rev (pinned to bread-ecosystem
147cfbb) following the pattern proven in breadpad, so releases build
inside the shared pinned container instead of installing toolchain
deps directly on the bare runner. Routes dev/rc/release build+test
steps through it and adds a check.yml for fast clippy/test feedback
on feature/fix branches. No ci/deps.txt — breadcrumbs' dependencies
(clap/serde/toml/serde_json) are pure Rust with no system library
needs; nmcli/tailscale/sudo/xdg-open are shelled out to, not linked.
2026-08-05 19:12:42 +08:00
Breadway
f9da2e4652 CI: single-trunk model — dev triggers on main, beta becomes RC-tag-triggered
Replaces the dev/beta branch split with one trunk (main): dev-track
builds still publish on every push, but the beta track now publishes
from a vX.Y.Z-rc.N prerelease tag instead of a separately-maintained
beta branch. Removes the branch nobody reliably kept in sync.
2026-07-31 11:05:29 +08:00
Breadway
66892a49f9 Drop pacman packaging, bakery-only distribution
All checks were successful
Mirror to GitHub / mirror (push) Successful in 2s
dev release / build (push) Successful in 22s
bakery already fully covers what the PKGBUILD provided (binary, systemd
--user service where applicable, dependency declarations) except a LICENSE
copy, which bakery.toml's new license_file field now closes. Removes
packaging/arch/ and .forgejo/workflows/package.yml; adds the LICENSE
artifact to each release/dev-release/beta-release workflow's prepare
step. Not pacman-installed inside BOS today (BOS already consumes these
apps exclusively via build-local.sh's skel-staging), so this only removes
the option to `pacman -S` outside of BOS/bakery.
2026-07-23 10:25:12 +08:00
Breadway
e63e66fe3f ci: make beta a branch-triggered freeze track, not a one-off tag
Some checks failed
dev release / build (push) Failing after 26s
beta release / build (push) Successful in 20s
Mirror to GitHub / mirror (push) Successful in 4s
Beta is now a real stabilization branch: publishes on every push to
`beta` (mirroring dev's model, auto-versioned X.Y.Z-beta.<ts>+<sha>,
base version from the latest published tag) instead of a manual
beta-v* tag. Fixes made during the freeze land via fix/<issue> branches
merged into `beta` directly. The gen-index.sh clone for beta pulls
bread-ecosystem's default branch (main) rather than pinning to dev,
since beta is the more stable track and main now carries the
TRACK-aware script.
2026-07-22 18:37:27 +08:00
Breadway
629bb6c945 ci: base dev version on the latest published tag, not Cargo.toml
All checks were successful
Mirror to GitHub / mirror (push) Successful in 2s
dev release / build (push) Successful in 30s
Cargo.toml can drift stale relative to the actual last release (observed
on breadbox/breadpad/breadcrumbs/breadpaper), which made the auto-bumped
dev version sort as OLDER than what's already installed — bakery's semver
check correctly refused those "updates". Deriving the base version from
git ls-remote --tags instead is self-healing regardless of Cargo.toml
drift, with a Cargo.toml fallback only for a repo with no tags yet.
2026-07-22 13:52:03 +08:00
Breadway
d615bdce4b ci: use a unique temp dir for the bread-ecosystem clone in dev/beta CI
Some checks failed
dev release / build (push) Successful in 34s
Mirror to GitHub / mirror (push) Failing after 3s
The fixed /tmp/bread-ecosystem-ci path races when multiple repos' dev/beta
workflows run close together on the same self-hosted runner — one job's
rm -rf/clone can stomp another's in-progress checkout, causing the
regenerate-index step to fail intermittently. Switch to mktemp -d.
2026-07-22 10:24:23 +08:00
Breadway
d2964ebcc2 ci: add dev/beta build track workflows
Some checks failed
Mirror to GitHub / mirror (push) Successful in 2s
dev release / build (push) Failing after 26s
Adds dev-release.yml (publishes on every push to dev) and beta-release.yml
(publishes on a beta-v* tag), mirroring the pattern landing in
bread-ecosystem/bread. See bread-ecosystem/docs/release-channels.md for
the three-track policy.
2026-07-22 09:58:15 +08:00
Breadway
6ec21a84aa Use REGISTRY_TOKEN (scoped write:package) for registry publish
Some checks failed
Mirror to GitHub / mirror (push) Successful in 2s
Build and publish package / package (push) Failing after 1m39s
2026-06-13 22:55:42 +08:00
Breadway
e484fd014a Clone from public URL, not GITHUB_SERVER_URL (resolves to localhost in runner)
The Forgejo runner injects GITHUB_SERVER_URL as http://localhost:3002, which
is unreachable from inside the job container. Use the public URL instead.
2026-06-13 16:14:15 +08:00
Breadway
be53cb6cd6 Rename mirror secret to MIRROR_TOKEN (GITHUB_ prefix is reserved)
Forgejo/gitea rejects user secret names starting with GITHUB_.
2026-06-13 16:10:50 +08:00
Breadway
f5c47a877e Fix Forgejo workflows for the actual server capabilities
- package.yml: correct Arch registry upload (octet-stream + binary body),
  drop --privileged, manual shell clone (archlinux image has no Node),
  built-in Actions token, --nocheck
- mirror.yml: clone --mirror + explicit refs push with --prune
2026-06-13 16:02:23 +08:00
Breadway
076e175672 Add packaging/arch PKGBUILD and Forgejo Actions workflows
- packaging/arch/PKGBUILD: builds and publishes breadcrumbs to [breadway] repo
- .forgejo/workflows/mirror.yml: mirrors every push/tag to GitHub
- .forgejo/workflows/package.yml: builds on tag, publishes to Forgejo registry

Requires FORGEJO_TOKEN and GITHUB_MIRROR_TOKEN secrets in Forgejo.
2026-06-13 12:12:42 +08:00