syntaqxWhether a repository's Actions are on is read once per request, however many runs it starts. actions_on read repo_settings in D1 in each trigger path and again in create_run for every run, so one push starting five workflows read it six times. The service now keeps what it read in ActionsOn (protection.rs), a per-request map of repository id to on or off: the service is made afresh for each fetch and for the minute's sweep, Actions::on_event clears it for each queued event, and saving a repository's Actions settings forgets that repository's entry. create_run stays the gate for every trigger (push, pull_request including a fork's, merge_group, schedule, workflow_run, dispatch and the rest), and record_failed_run, which now takes the repository, is gated the same way, so an unreadable workflow file in a repository with Actions off records nothing. on_event, run_schedules and merge_group still ask before reading workflows from git or a schedule's head, now from the same read; dispatch, repository_dispatch and re-run still refuse with the same message. Behaviour is unchanged.0c9ad8cHistory
README.md
GitHub's workflow schema
workflow-v1.0.json is GitHub's schema for workflow files, copied unchanged from
actions/languageservices, file
workflow-parser/src/workflow-v1.0.json, at commit
4043eda158e16579cc5fb1b0b07a4bce2a76f0b5 (5 August 2026). It is MIT licensed;
LICENSE is that repository's licence, copied from the same commit.
g1t does not read it at run time. src/syntax.rs lists the keys each part of a
workflow may have, and its tests check those lists against this file, so they
cannot drift from GitHub's. To update it, copy the file again, write the commit
here, and run cargo test -p g1t-actions.