Repository navigation
ci: add pull-request validation for compose, Go, and terraform - #14
Open
polylane[bot] wants to merge 1 commit into
Open
polylane[bot] wants to merge 1 commit into
polylane[bot] wants to merge 1 commit into
Conversation
Co-authored-by: polylane[bot] <277585245+polylane[bot]@users.noreply.github.com>
Contributor
Author
|
Note Production impact unlikely. Documentation, test, or CI-only change; nothing that runs in production is affected. Polylane analysed Did this help? React 👍 or 👎 so the next review is sharper. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes: Homelab stack repo has 0 CI and no branch protection while autofix PRs (two conflicting, one adding default Postgres credentials) target its compose.yml
This repository is the deployment source for the homelab observability stack, but it had no automated checks, so every pull request reached review with nothing having run. This adds a workflow that runs on pull requests and pushes to the main branch and verifies the Compose stack, the Go service, and the Terraform configuration, so a broken change is caught before it reaches the host.
What caused this
Affected:
int_e1a33d7f7001yiuokcac3k3uWhy this fix
As of 2026-09-17 the repository returned
total_count: 0for its actions workflows and404forbranches/main/protection; no workflow had ever run, so nothing ever executed a change to the stack. That same day the autofix pipeline opened two pull requests two minutes apart (PR #10 at 17:20:09Z, PR #11 at 17:22:12Z), both rewritingcompose.yml(+28/-1 and +50/-3). The bot's own comment on #10 was headlined "Production impact not verified": with zero workflows there was no other check available either.The cause is the absence of any verification layer on a repository that a live stack deploys from. This workflow supplies one: on every pull request and push to main it validates the Compose file, builds and vets the Go module, and validates the Terraform configuration. All three pass on the current tree today, so the baseline is green and the checks can be required.
I left
terraform fmt -checkout deliberately:terraform/main.tfis not fmt-canonical today, so a format check would make the very first run red and block the workflow's adoption;terraform validatestill catches syntax and configuration errors.docker compose config -qonly renders the file, starts no service, and pulls no image, and the workflow creates the gitignored.envit needs without adding it to the repository.Out of scope
main: requires repository-admin write, which the GitHub App installation does not hold; recorded as a follow-up.app/appPostgres defaults inside fix(compose): declare the API's Postgres datastore, health and backup #11: content decisions for the operator.terraform/main.tfto makefmt -checkpass, and the committedterraform.tfstate: separate concerns.Causal chain
1 file changed (+51/-0)
.github/workflows/ci.yml: added, +51/-0Generated by Polylane. You can ask follow-ups by mentioning @polylane in a comment.