-- Deferred job compilation: runs keep the workflow source and base expression context so jobs can be -- recompiled with `needs` outputs once their dependencies finish. ALTER TABLE workflow_runs ADD COLUMN workflow_source TEXT; ALTER TABLE workflow_runs ADD COLUMN context TEXT; ALTER TABLE workflow_runs ADD COLUMN trigger_depth INTEGER NOT NULL DEFAULT 0; ALTER TABLE workflow_runs ADD COLUMN rerun_of TEXT; ALTER TABLE workflow_jobs ADD COLUMN outputs TEXT; ALTER TABLE workflow_jobs ADD COLUMN environment TEXT; ALTER TABLE workflow_jobs ADD COLUMN gate TEXT; -- Trigger index of the default branch's workflows, refreshed on push, so non-push events and -- schedules can be matched without reading git. CREATE TABLE workflow_triggers ( repo_id TEXT NOT NULL REFERENCES repos(id) ON DELETE CASCADE, workflow_path TEXT NOT NULL, workflow_name TEXT NOT NULL, events TEXT NOT NULL, updated_at INTEGER NOT NULL, PRIMARY KEY (repo_id, workflow_path) ); CREATE TABLE workflow_schedules ( id TEXT PRIMARY KEY, repo_id TEXT NOT NULL REFERENCES repos(id) ON DELETE CASCADE, workflow_path TEXT NOT NULL, cron TEXT NOT NULL, next_run_at INTEGER NOT NULL, last_run_at INTEGER, UNIQUE (repo_id, workflow_path, cron) ); CREATE INDEX workflow_schedules_due ON workflow_schedules(next_run_at); CREATE TABLE action_caches ( id TEXT PRIMARY KEY, repo_id TEXT NOT NULL REFERENCES repos(id) ON DELETE CASCADE, ref TEXT NOT NULL, key TEXT NOT NULL, version TEXT NOT NULL, size INTEGER NOT NULL,