phpboyscout/cicd¶
A monorepo of reusable GitLab CI/CD components for the
phpboyscout toolchain — released together under one tag stream, run inside
the infra-tools / dev-tools images.
Consumers reference each component by URL and pin a tag:
Find what you need¶
This site follows Diátaxis — four kinds of documentation for four different needs:
- Tutorials — new here? A guided, hands-on walkthrough that takes you from nothing to a green pipeline.
- How-To Guides — already using the components? Task-oriented recipes for the things you actually need to do — pin a version, add change-detection, set up OIDC, cut a release.
- Reference — every component, every input, every job it produces. Look something up.
- Explanation — the why behind the design — change-detection, the token-input convention, security-always-on, and the rest of the decisions baked into every component.
Adding or changing a component yourself? See Contributing. Working on this repo's own internals — the decision record behind a change, or a repo-internal developer guide? See Development — a deliberate, approved concession outside the four kinds above.
Components at a glance¶
| Track | Components |
|---|---|
| Terraform / OpenTofu | tofu-lint, tofu-security, tofu-validate, tofu-plan, tofu-apply, tofu-stop, tofu-deploy-generate, tofu-module-publish |
| Go | go-lint, go-test, go-security, goreleaser |
| Rust | rust-lint, rust-test, rust-security, rust-docs, release-plz |
| Svelte | svelte-build, svelte-lint, svelte-test, svelte-security |
| Static sites | zensical-pages, hugo-pages |
| Cross-track quality | docs-verify |
| Release / dependency automation | renovate-self, renovate-group, renovate-merge, releaser-pleaser, release-train, release-stamp, discord-release |
| AI skills & instruction files | skill-security |
That is all 32 components. The full table, with a one-line purpose for each, is the Reference index; which pipeline types each one actually fires on is the trigger matrix, and what they deliberately do not do is Limitations.
Related projects¶
phpboyscout/images/infra-tools— the container image the Tofu and static-site components run in.phpboyscout/images/dev-tools— the consolidated Go/Rust/Node toolchain image the Go, Rust, and Svelte components run in.phpboyscout/iac/terraform-aws-bootstrap— the bootstrap module; consumes these components for its own CI.phpboyscout/iac/terraform-aws-security-baseline— the security-baseline module; same.phpboyscout/infra— the first concrete user; OIDC plan-on-MR / apply-on-tag flow.
Further reading¶
The blog carries a curated route through this subject: CI/CD, and getting things released collects everything written about it, ordered so you can start at the beginning rather than newest-first.
Ask phpbotscout

He answers questions about the projects over on the Discord, citing the docs where they already cover it, and offering to raise an issue where they don't. Bring a bug, an idea, or a questionable engineering decision.