Commit aca473b
authored
feat: require Twilio OpenTofu checks
## Summary
Graduate `tfroot-twilio` from its initial relaxed branch-protection
profile now that its OpenTofu workflow and centrally managed Dependabot
files are installed and reconciled.
Require the established `opentofu / test` and `opentofu / plan` checks
for `main`. A `moved` block preserves the existing protected-branch
state while changing profiles, avoiding a delete/recreate transition.
Fixes # N/A — complete the Twilio-root bootstrap governance gate.
## Type of change
- [ ] Bug fix
- [x] Feature / enhancement
- [ ] Documentation
- [x] Infrastructure (OpenTofu root or module)
- [ ] GitOps desired state (manifests, kustomize, charts, SOPS/KSOPS
secrets)
- [ ] Container image
- [ ] CI / reusable workflow
- [ ] Refactor / cleanup
- [ ] Breaking change
## Validation
- [x] Required pull-request checks pass — OpenTofu test and plan
succeeded in [run
33838857603](https://github.com/makeitworkcloud/tfroot-github/actions/runs/33838857603).
- [x] Plan updates exactly one existing branch-protection resource: `0
to add, 1 to change, 0 to destroy`.
- [x] Generated or centrally distributed files were regenerated by their
owning automation, not hand-edited — no generated files are changed.
The required check names are verified against [`tfroot-twilio`'s caller
workflow](https://github.com/makeitworkcloud/tfroot-twilio/blob/main/.github/workflows/opentofu.yml)
and its completed validation run. No local OpenTofu, SOPS, state,
import, plan, or apply operations were run.
## Impact and rollout
Producer: `tfroot-github` owns branch protection. Consumer:
`tfroot-twilio` will require successful `opentofu / test` and `opentofu
/ plan` before future pull requests merge.
This PR neither changes the Twilio root's workflow nor configures
provider credentials, backend state, phone numbers, webhooks, bridge
deployment, routes, or runtime secrets. Its plan uses the moved address
to update the existing protection in place, adding the two required
checks and conversation resolution without a protection gap. After
confirmed merge, verify the environment-gated apply succeeds and that
the required contexts match the caller's emitted check names.
Rollback is a reviewed revert restoring the relaxed profile. The `moved`
block prevents a protection gap during this transition.
## Safety and secrets
- [x] Contains no plaintext secrets, decrypted SOPS values, state files,
kubeconfigs, tokens, or private endpoints.
- [x] No local OpenTofu init/plan/apply/destroy/import/state operations
were run or claimed — plans come from pull-request checks.
- [x] Breaking or irreversible effects are described above with rollback
notes.
Repository-side secret scanning is unavailable because GitHub Advanced
Security is not enabled; the branch diff was manually inspected before
publication.
AI agent materially produced this change; reviewers should confirm no
secret-map, repository-topic, or unrelated protection change is present;
the moved protection address; and the exact required check names.1 parent 3932e5f commit aca473b
2 files changed
Lines changed: 10 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | | - | |
| 56 | + | |
| 57 | + | |
58 | 58 | | |
59 | | - | |
60 | | - | |
| 59 | + | |
61 | 60 | | |
62 | 61 | | |
63 | 62 | | |
| |||
85 | 84 | | |
86 | 85 | | |
87 | 86 | | |
| 87 | + | |
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
0 commit comments