From 4c979681b3b03b11df4c2f28d083e4937b393a48 Mon Sep 17 00:00:00 2001 From: Josh Vaughen Date: Thu, 15 Oct 2026 12:51:02 -0700 Subject: [PATCH 1/2] feat(schedules): stagger nongnu and gnu-alpha off gnu's slots gnu, nongnu and gnu-alpha all read from FSF hosts. Each one gets its own slots, four hours apart: gnu at S3|S15, nongnu at S7|S19, gnu-alpha at S11|S23. --- schedules/gnu-alpha.go | 2 +- schedules/nongnu.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schedules/gnu-alpha.go b/schedules/gnu-alpha.go index e8cb533..36ec460 100644 --- a/schedules/gnu-alpha.go +++ b/schedules/gnu-alpha.go @@ -2,4 +2,4 @@ package schedules // katoptra/gnu-alpha is a mirror of GNU's alpha release tree. The scheduler starts it twice // a day. -var _ = register(Job{Repo: "katoptra/gnu-alpha", File: "sync.yml", Slots: S3 | S15}) +var _ = register(Job{Repo: "katoptra/gnu-alpha", File: "sync.yml", Slots: S11 | S23}) diff --git a/schedules/nongnu.go b/schedules/nongnu.go index 052b165..0be6324 100644 --- a/schedules/nongnu.go +++ b/schedules/nongnu.go @@ -2,4 +2,4 @@ package schedules // katoptra/nongnu is a mirror of Savannah's nongnu release tree. The scheduler starts it // twice a day. -var _ = register(Job{Repo: "katoptra/nongnu", File: "sync.yml", Slots: S3 | S15}) +var _ = register(Job{Repo: "katoptra/nongnu", File: "sync.yml", Slots: S7 | S19}) From d9a5c675165f08ee1c703c4b8741cd032f380f1b Mon Sep 17 00:00:00 2001 From: Josh Vaughen Date: Thu, 15 Oct 2026 12:56:53 -0700 Subject: [PATCH 2/2] docs(readme): keep the slots and the healthcheck crons in this repo --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 35cc180..2f3c321 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,11 @@ items: - It sends a ping to its healthcheck. The scheduler starts runs, but it does not know the result of a run. +The mirror repositories do not contain the times of their runs. This repository is the only +location of the slots. The cron expression of each healthcheck has the same times as the +slots of its job, in UTC. When you change the slots of a job, change that cron expression +right after the host gets the change. + The host gets a change when the host's flake moves its lock to a new commit of this flake. A new job starts at the next tick.