Commit graph

18 commits

Author SHA1 Message Date
Breadway
3eff1e5972 ci: build inside bread-ecosystem's shared Arch container
All checks were successful
check / check (push) Successful in 4s
Ports breadpaper onto bread-ecosystem's shared, pinned Arch build
image/script instead of installing toolchain/libraries directly on the
bare self-hosted runner. Follows the pattern proven in breadpad:
ci/build.sh clones bread-ecosystem pinned to the sha in
ci/bread-ecosystem.rev and delegates to its ci/build.sh.

breadpaper needs nothing beyond the shared image's base package set
(only clap/anyhow as deps, no image-processing or GTK crates), so no
ci/deps.txt is added.

Also adds check.yml: clippy + test on feature/**/fix/** pushes, as a
fast pre-release-build signal, matching breadpaper's own build/test
flags (--release --locked, no --workspace since this isn't a
workspace).
2026-08-05 19:14:49 +08:00
Breadway
d329839af2 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
3b7434f2c9 Drop pacman packaging, bakery-only distribution
Some checks failed
dev release / build (push) Successful in 24s
Mirror to GitHub / mirror (push) Failing after 1s
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
eb8667991d ci: make beta a branch-triggered freeze track, not a one-off tag
Some checks failed
dev release / build (push) Failing after 12s
beta release / build (push) Successful in 19s
Mirror to GitHub / mirror (push) Failing after 6s
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:32 +08:00
Breadway
fa3ccacca5 ci: base dev version on the latest published tag, not Cargo.toml
Some checks failed
dev release / build (push) Successful in 20s
Mirror to GitHub / mirror (push) Failing after 2s
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:32 +08:00
Breadway
2d652f2bbf ci: use a unique temp dir for the bread-ecosystem clone in dev/beta CI
Some checks failed
dev release / build (push) Successful in 21s
Mirror to GitHub / mirror (push) Failing after 1s
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:33 +08:00
Breadway
c10bad3877 ci: add dev/beta build track workflows
Some checks failed
dev release / build (push) Failing after 11s
Mirror to GitHub / mirror (push) Failing after 2s
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:26 +08:00
Breadway
1b4f9c5c04 fix(ci): clone bread-ecosystem to /tmp to avoid stale permissions
Some checks failed
Mirror to GitHub / mirror (push) Failing after 2s
release / build (push) Successful in 18s
Build and publish package / package (push) Failing after 1m7s
2026-06-17 22:53:08 +08:00
Breadway
b064e86f2f fix(ci): clone to /tmp to avoid stale work-dir permissions, use hestia label
Some checks failed
Mirror to GitHub / mirror (push) Failing after 2s
release / build (push) Failing after 7s
Build and publish package / package (push) Failing after 1m18s
2026-06-17 19:09:15 +08:00
Breadway
014fd9c12e fix(ci): add cargo to PATH for host runner
Some checks failed
Mirror to GitHub / mirror (push) Failing after 2s
release / build (push) Failing after 13s
Build and publish package / package (push) Failing after 2m1s
2026-06-17 18:54:32 +08:00
Breadway
2d0cdae396 fix(ci): run release job on hestia host to access cargo and dl server
Some checks failed
Mirror to GitHub / mirror (push) Failing after 1s
release / build (push) Failing after 1s
Build and publish package / package (push) Failing after 1m52s
hestia-host maps to host execution on the Forgejo runner, giving access
to /home/breadway/.cargo/bin/cargo and /srv/breadway-dl without Docker.
2026-06-17 14:54:59 +08:00
Breadway
ca843bf255 fix(ci): replace actions/checkout with manual git clone in release
Some checks failed
Mirror to GitHub / mirror (push) Failing after 3s
Build and publish package / package (push) Failing after 2m1s
release / build (push) Failing after 1s
actions/checkout uses GITHUB_SERVER_URL=http://localhost:3002 which is
unreachable from inside the Docker container. Use the public Forgejo URL
directly, matching the pattern used by package.yml.
2026-06-17 14:49:06 +08:00
Breadway
4bb2fd43ca fix: move release workflow to Forgejo, add LICENSE
Some checks failed
Mirror to GitHub / mirror (push) Failing after 3s
Build and publish package / package (push) Failing after 1m53s
release / build (push) Failing after 5s
release.yml moves from .github/ to .forgejo/ so it runs directly on
the hestia runner without needing the GitHub mirror. GitHub upload step
dropped; bakery uses dl.breadway.dev as primary. LICENSE added to fix
PKGBUILD package() failure.
2026-06-17 14:45:56 +08:00
Breadway
19e660937f debug: GIT_CURL_VERBOSE trace 2026-06-17 14:40:22 +08:00
Breadway
2d0d9728b2 debug: inspect workspace git config 2026-06-17 14:39:30 +08:00
Breadway
4aad0afeac debug: add git env and system config inspection 2026-06-17 14:38:34 +08:00
Breadway
8e1f0babb8 debug: print git config and env in mirror step 2026-06-17 14:35:41 +08:00
Breadway
a8b38597ff Initial implementation of breadpaper
Some checks failed
Mirror to GitHub / mirror (push) Failing after 2s
Build and publish package / package (push) Failing after 1m3s
CLI tool that sets a wallpaper with awww, generates a pywal colour
palette, and reloads bread-theme to recolour all running bread GTK apps.
Includes CI workflows, bakery metadata, and Arch PKGBUILD.
2026-06-17 14:05:48 +08:00