Repository navigation
This commit introduces significant structural changes by implementing orchestrated GitHub Actions workflows for managing GitHub organization resources, ensuring consistency and dependency management. It moves from a simpler, parallel workflow to a more sophisticated one using orchestrator workflows and reusable components.
Changes
- Workflow Structure: Introduces orchestrator workflows (
terragrunt-pr-orchestrator.yml,terragrunt-apply-orchestrator.yml) to manage resources in dependency order. - Reusable Workflow Template: Creates a unified reusable workflow (
terragrunt-unified-reusable.yml) to standardize actions across different resource types (org settings, members, teams, repositories). Thecommon-env.ymlis also introduced as a reusable workflow to setup environment variables. - Template-Based Configuration: Implements HCL templates (
_common/templates/*.hcl) for organization settings, members, teams, and repositories, providing reusable configuration patterns. - Root Configuration: Adds a
root.hclto manage remote state and provider configuration. - Pre-commit Hooks: Introduces
.pre-commit-config.yamland associated scripts (scripts/terragrunt-format.sh,scripts/terragrunt-format-check.sh) for formatting and linting HCL files before commit. - Documentation Updates: Extensive documentation added in
docs/directory, covering configuration, workflows, environment variables, and GPG commit signing. - Removes prior simple workflows: Deletes the prior single workflows
terragrunt-apply.ymlandterragrunt-pr.yml.
Impact
- Behavioral Changes: Enforces dependency order during application, validates changes in a structured manner, and introduces automated formatting checks via pre-commit hooks.
- Structural Changes: Major refactoring of the workflow system, moving from standalone workflows to an orchestrated, template-driven approach.
- Dependencies Affected: Relies on reusable workflows and templates, enforcing a consistent configuration style. Requires a GitHub token with organization admin permissions.
- Testing Implications: Requires thorough testing of orchestrated workflows, change detection logic, and template configurations. Emphasis is now on integration testing since individual steps are less meaningful.