Give each tracked package its own PR, and let a fresh branch tip fall back
The branch tracker stalled omarchy-dev and omarchy-settings-dev twice in a week: - All ~50 auto_merge packages rode one PR, so omasnap-git's failing smoke suite kept the quattro pins unmerged from Oct 4 to Oct 8 (#788). Each package now gets its own PR on auto/track-branches-<package>; packages pinned from the same branch share one, since they move in lockstep. A run closes tracker PRs that master has moved past, and the old single PR. - A branch tip younger than min_release_age held the whole branch, so a run that landed shortly after a quattro commit pinned nothing. The watch now falls back along first-parent history to the newest commit that has cleared the window, measured from clone time so siblings agree. - The every-2-hours schedule fired every 6 to 9 hours in practice; run it hourly.
This commit is contained in:
1 parent
1cef67f336
commit
a7f730d1e6
7 files changed
+187
-50
No files matched your search
@@ -391,12 +391,13 @@ on `auto/sync-upstream-<packages>` or `auto/sync-rebuilds-<packages>`.
|
||||
|---|---|---|---|
|
||||
| `sync-upstream.yml` | every 6 hours | one PR on `auto/sync-upstream` with every new upstream release | **a maintainer merges it** |
|
||||
| `sync-rebuilds.yml` | every 6 hours | one PR on `auto/sync-rebuilds` bumping `pkgrel` where a `rebuild_on` dependency moved | itself, when green |
|
||||
| `track-branches.yml` | every 2 hours | one PR on `auto/track-branches` updating `"auto_merge": true` packages to their newest upstream release or branch tip | itself, when green |
|
||||
| `track-branches.yml` | hourly | one PR per package on `auto/track-branches-<package>` updating `"auto_merge": true` packages to their newest upstream release or branch tip; packages pinned from the same branch share one | itself, when green |
|
||||
|
||||
- **Each PR is a batch.** One package that fails to build keeps the whole PR
|
||||
red and unmerged. Fix that package on `master`. For the two sync workflows,
|
||||
a run with `packages` naming the healthy ones gives them their own PR. The
|
||||
branch tracker has one PR only; its next run replaces it.
|
||||
- **Each sync PR is a batch.** One package that fails to build keeps the
|
||||
whole PR red and unmerged. Fix that package on `master`. A run with
|
||||
`packages` naming the healthy ones gives them their own PR. The branch
|
||||
tracker opens a PR per package, so a red one holds back only itself; its
|
||||
next run replaces it, and closes it once master holds a newer pin.
|
||||
- **A package with no upstream declaration or hook gets no upstream updates.** That
|
||||
includes the kernels (`linux-omarchy*`, `linux-ptl`, `linux-aurora`): bump
|
||||
them by PR.
|
||||
@@ -491,7 +492,7 @@ docs/ Reference
|
||||
| `approve-pr.yml` | PR events | Releases GitHub's hold on a `build-approved` PR's runs |
|
||||
| `sync-upstream.yml` | every 6 hours, dispatch | Upstream release PR |
|
||||
| `sync-rebuilds.yml` | every 6 hours, dispatch | Dependency rebuild PR |
|
||||
| `track-branches.yml` | every 2 hours, dispatch | Branch tip PR |
|
||||
| `track-branches.yml` | hourly, dispatch | Branch tip PRs |
|
||||
| `builder-images.yml` | daily, changes to the image's inputs (push and PR), dispatch | Builds and tests the builder image; publishes it from `master` |
|
||||
|
||||
Secrets: the `publish` environment (usable from `master` only) holds the
|
||||
|
||||
Reference in new issue
Block a user