DRY isn't just for application code
Blog post from Octopus Deploy
Octopus modernized GitHub Actions for five microsites by replacing twenty separately maintained workflow files with reusable workflows housed in a central microsite-deployment repository, alongside Terraform and deployment scripts. Each microsite now uses short calling workflows that provide project-specific inputs while shared logic handles building, testing, packaging, deployment, and secure behavior for pull requests from forks. The migration was intentionally incremental, preserving separate pull request and main-branch workflows where their structures differed while extracting shared Node and pnpm version management into a composite action. The approach eliminated cross-repository workflow drift and reduced changes from multiple pull requests to one, but introduced decisions and limitations around versioning, testing, visibility, and governance. The team chose floating @main references so all consumers receive updates immediately, accepting the risk of broad breakages, while noting that tags and commit SHAs offer more predictability but require consumers to update and are difficult to manage independently per workflow. Testing branch-level changes, particularly when reusable workflows call composite actions, remains awkward, and GitHub provides limited native visibility into workflow consumers or version adoption. Dependabot can propose updates and organization policies can block insecure versions, but neither offers a gradual, centralized migration path, making early planning for references, testing, and consumer management important for platform teams.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| Platform Engineering | 8 | 1,818 | 377 | 99 | +8% |
| Secrets Management | 3 | 2,713 | 563 | 147 | +33% |
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.