ci: run mirror-upstream and aggregate weekly instead of 4x daily - #116
Open
dnplkndll wants to merge 1 commit into
Open
ci: run mirror-upstream and aggregate weekly instead of 4x daily#116dnplkndll wants to merge 1 commit into
dnplkndll wants to merge 1 commit into
Conversation
mirror-upstream ticked every 6h and aggregate daily. That tempo was set when this fork was an active contribution target and open PRs drifted from their base faster than a daily tick could keep up. It no longer is one. The cost is not local to this repository. Mirroring force-pushes 19.0, which fires aggregate's push trigger, which rebuilds and force-pushes 'aggregated', which in turn runs tests, pre-commit and the migration suite. Four of those cascades a day saturate the organisation-wide 20-concurrent-job cap on the Free plan — unrelated repositories were observed queueing behind 18 running and 20 queued OpenUpgrade jobs. Both now run Sunday early morning, mirror at 05:00 UTC and aggregate at 06:00. The one-hour gap preserves the existing ordering requirement: aggregate must run after the mirror, or it rebuilds against a stale 19.0. The tradeoff is the detection window for an upstream merge conflicting with a repos.yaml branch, which widens from a day to a week. Acceptable while this is not a contribution target. workflow_dispatch is retained on both for manual catch-up, and is now the expected way to force a refresh. Claude-Session: https://claude.ai/code/session_01JYdwXZhodF13nMyBxPRSe2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
mirror-upstreamticked every 6 hours andaggregatedaily. That tempowas set on 2026-07-13 because Tecnativa-pace upstream outran a daily tick and
open PRs drifted from their base. This fork is no longer an active contribution
target, so that justification has lapsed.
The cost is not local to this repository. The schedule cascades:
Four of those a day saturate the org-wide 20-concurrent-job cap on the Free
plan. Observed today: 18 running + 20 queued OpenUpgrade jobs, with
unrelated
ledoentrepositories queueing behind them for ~10 minutes.What changed
mirror-upstream.yml0 */6 * * *(4x daily)0 5 * * 0— Sun 05:00 UTCaggregate.yml0 12 * * *(daily)0 6 * * 0— Sun 06:00 UTCThe one-hour gap is deliberate.
aggregatemust run after the mirror or itrebuilds against a stale
19.0— the existing comment documents this orderingand it is preserved.
Nothing else is touched:
generate-analysis-cron(weekly Mon),generate-testdb-cron(monthly) andstale(weekly Sun) are unchanged, as areall
push/pull_requesttriggers.Tradeoff
The detection window for an upstream OCA merge silently conflicting with a
repos.yamlbranch — the l10n_es / OCA#5646 case in the existing comment —widens from a day to a week. That is the real cost, and it is acceptable
while this is not a contribution target.
workflow_dispatchis retained on both and is now the expected way to force arefresh between ticks.
https://claude.ai/code/session_01JYdwXZhodF13nMyBxPRSe2