Skip to content

Tweaks-P1#16

Merged
danielmacuare merged 6 commits into
mainfrom
feature/tweaks
Mar 11, 2026
Merged

Tweaks-P1#16
danielmacuare merged 6 commits into
mainfrom
feature/tweaks

Conversation

@danielmacuare
Copy link
Copy Markdown
Owner

@danielmacuare danielmacuare commented Mar 11, 2026

TLDR

Stabilises the CI pipeline by pinning tool versions, fixing a race condition in parallel Terraform validation via a provider cache warm-up step, updating all .terraform.lock.hcl files to include linux_amd64 hashes, and restructuring the docs tree.

Description

This branch bundles several reliability and housekeeping improvements made against the CI pipeline and project documentation. The core problem was non-deterministic failures in the terraform validate job: parallel terraform init processes were writing the same provider binaries to a shared cache directory simultaneously, causing a "text file busy" race condition. The fix is a sequential cache warm-up step that runs before the parallel validation fan-out. Version pins were also added for infracost, terraform-docs, and Terraform itself to prevent unexpected breakage from upstream releases. In parallel, the docs folder was reorganised into design/ and dev/ sub-trees, and a Python-based tf_validate.py script was introduced as a developer convenience wrapper.

Key Changes

  • CI pipeline (.github/workflows/pipeline.yml): added a Cache Terraform providers step using actions/cache@v4, a sequential Pre-warm provider cache step that runs only on cache miss, and version pins for Infracost (v0.10.43), terraform-docs (v0.21.0), and Terraform (1.14.4).
  • Lock files: regenerated all .terraform.lock.hcl files to include linux_amd64 provider hashes, ensuring terraform init succeeds on the GitHub Actions runner without downloading providers from scratch.
  • Scripts: added scripts/tf_validate.py — a Python 3.11+ CLI (using typer + rich) that replicates the CI validation logic locally with a progress bar and summary table.
  • Docs restructure: moved existing docs under docs/design/ and docs/dev/, added new pages for the CI pipeline, Terraform standards, TF validate tooling, and connectivity test results.
  • Terraform version: bumped vars/terraform.tf and .terraform-version to 1.14.4.

@danielmacuare danielmacuare self-assigned this Mar 11, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 11, 2026

💰 Infracost report

Monthly estimate generated

This comment will be updated when code changes.

@danielmacuare danielmacuare merged commit a57e6e6 into main Mar 11, 2026
6 checks passed
@danielmacuare danielmacuare deleted the feature/tweaks branch March 11, 2026 15:45
@danielmacuare danielmacuare changed the title refactor: Repo Tweaks Tweaks-P! Mar 13, 2026
@danielmacuare danielmacuare changed the title Tweaks-P! Tweaks-P1 Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant