syntaqxBrokered secrets keep working after a job's token is swapped. The runner Worker looks up a job's stand-ins (brokered_secrets) with the token the job started with, which a harness that asks for rotation spends on its first spec fetch. The swap now keeps that token's hash beside the new one (first_token_hash, migration 0020), and brokered_secrets alone accepts it; reporting, logs, artifacts, cache, job_auth, actions and the spec itself take only the current token, and no API route passes brokered_secrets on, so the kept token is reachable only through g1t's own service bindings. It is cleared when the job ends, is cancelled, is claimed again or is re-run. The self-hosted runners guide says which lookup still takes it.495a2cbHistory
- ..
- 0001_init.sql
- 0002_reusable_workflows.sql
- 0003_settings_access.sql
- 0004_self_hosted_runners.sql
- 0005_actions_cache.sql
- 0006_artifacts.sql
- 0007_run_protection.sql
- 0008_actions_access.sql
- 0009_run_attempts.sql
- 0010_jobs_self_hosted_lower.sql
- 0011_schedule_rules.sql
- 0012_runner_task_runs.sql
- 0013_action_registry.sql
- 0014_managed_workflows.sql
- 0015_runner_isolation.sql
- 0016_log_chunks.sql
- 0017_workspace_managed_workflows.sql
- 0018_desktop_runners.sql
- 0019_brokered_secrets.sql
- 0020_job_token_rotation.sql