ci(drift): run the drift checks on demand, and report at the start of the day #532

Closed
opened 2026-09-16 21:06:13 +00:00 by hexajon · 0 comments
Owner

Follow-up to #525 / PR #531.

What happens

drift.yml has three triggers: pull_request, push to main, and one cron at 17 4 * * * UTC. Two of its jobs, govulncheck and the new git-matrix, are gated if: github.event_name == 'schedule', so they run on that cron and nowhere else.

Two problems follow.

  1. Neither cron-only job can be run on demand. There is no workflow_dispatch trigger. So git-matrix shipped without ever executing, and its first run is unattended. It is also the run that first mounts madtea-gitcache, a volume that has never been mounted. A mistake in the mount, the source build, or the signature check fails with nobody watching.

  2. The cron reports at the wrong end of the day. 17 4 * * * UTC is 22:17 in the maintainer's timezone, so a red drift result lands late at night and is read the next morning at the earliest.

Ask

  • Add a workflow_dispatch trigger to drift.yml, and let git-matrix run on it as well as on schedule.
  • Move the schedule to 0 13 * * * UTC, which is 07:00 local in summer and 06:00 in winter. Actions cron is UTC only, so the local time shifts by an hour across a daylight-saving change. Record that in the comment rather than leaving the reader to work it out.

Notes

  • forgejo-smoke is gated on vars.RUN_FORGEJO_SMOKE == 'true' && github.event_name != 'pull_request'. A workflow_dispatch event satisfies the second clause, so check the first before widening the trigger. The repository currently defines no Actions variables, so that job stays skipped.
  • workflow_dispatch needs write access on the repository, so it is a trusted event. The cache-mount expression already keys on != 'pull_request' and treats it as trusted, which is correct.

Acceptance

  • git-matrix can be started by hand from the Actions tab.
  • The daily drift run reports in the morning, local time.
  • The comment states the UTC-only cron and the daylight-saving shift.
Follow-up to #525 / PR #531. ## What happens `drift.yml` has three triggers: `pull_request`, `push` to main, and one cron at `17 4 * * *` UTC. Two of its jobs, `govulncheck` and the new `git-matrix`, are gated `if: github.event_name == 'schedule'`, so they run on that cron and nowhere else. Two problems follow. 1. **Neither cron-only job can be run on demand.** There is no `workflow_dispatch` trigger. So `git-matrix` shipped without ever executing, and its first run is unattended. It is also the run that first mounts `madtea-gitcache`, a volume that has never been mounted. A mistake in the mount, the source build, or the signature check fails with nobody watching. 2. **The cron reports at the wrong end of the day.** `17 4 * * *` UTC is 22:17 in the maintainer's timezone, so a red drift result lands late at night and is read the next morning at the earliest. ## Ask - Add a `workflow_dispatch` trigger to `drift.yml`, and let `git-matrix` run on it as well as on `schedule`. - Move the schedule to `0 13 * * *` UTC, which is 07:00 local in summer and 06:00 in winter. Actions cron is UTC only, so the local time shifts by an hour across a daylight-saving change. Record that in the comment rather than leaving the reader to work it out. ## Notes - `forgejo-smoke` is gated on `vars.RUN_FORGEJO_SMOKE == 'true' && github.event_name != 'pull_request'`. A `workflow_dispatch` event satisfies the second clause, so check the first before widening the trigger. The repository currently defines no Actions variables, so that job stays skipped. - `workflow_dispatch` needs write access on the repository, so it is a trusted event. The cache-mount expression already keys on `!= 'pull_request'` and treats it as trusted, which is correct. ## Acceptance - `git-matrix` can be started by hand from the Actions tab. - The daily drift run reports in the morning, local time. - The comment states the UTC-only cron and the daylight-saving shift.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#532
No description provided.