Skip to content

ci(infrastructure): add terraform fmt and validate reusable workflow#294

Closed
nacholiya wants to merge 2 commits into
microsoft:mainfrom
nacholiya:terraform-validation-ci
Closed

ci(infrastructure): add terraform fmt and validate reusable workflow#294
nacholiya wants to merge 2 commits into
microsoft:mainfrom
nacholiya:terraform-validation-ci

Conversation

@nacholiya
Copy link
Copy Markdown

Pull Request

Description

Add a reusable GitHub Actions workflow for Terraform validation.

  • Implements terraform fmt -check -recursive
  • Implements terraform init -backend=false and terraform validate
  • Runs across all Terraform directories using matrix strategy
  • Supports soft-fail input
  • Integrated into both PR and main CI pipelines

Closes #288

Type of Change

  • 🐛 Bug fix (non-breaking change fixing an issue)
  • ✨ New feature (non-breaking change adding functionality)
  • 💥 Breaking change (fix or feature causing existing functionality to change)
  • 📚 Documentation update
  • 🏗️ Infrastructure change (Terraform/IaC)
  • ♻️ Refactoring (no functional changes)

Component(s) Affected

  • infrastructure/terraform/prerequisites/ - Azure subscription setup
  • infrastructure/terraform/ - Terraform infrastructure
  • infrastructure/setup/ - OSMO control plane / Helm
  • workflows/ - Training and evaluation workflows
  • training/ - Training pipelines and scripts
  • docs/ - Documentation

Testing Performed

  • Terraform plan reviewed (no unexpected changes)
  • Terraform apply tested in dev environment
  • Training scripts tested locally with Isaac Sim
  • OSMO workflow submitted successfully
  • Smoke tests passed (smoke_test_azure.py)

Documentation Impact

  • No documentation changes needed
  • Documentation updated in this PR
  • Documentation issue filed

Bug Fix Checklist

Complete this section for bug fix PRs. Skip for other contribution types.

  • Linked to issue being fixed
  • Regression test included, OR
  • Justification for no regression test:

Checklist

@nacholiya nacholiya requested a review from a team as a code owner March 17, 2026 13:02
@nacholiya
Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

@nacholiya
Copy link
Copy Markdown
Author

Hi, this PR adds a reusable Terraform fmt and validate CI workflow.

Could you please approve the workflow run so CI checks can proceed?

@katriendg
Copy link
Copy Markdown
Collaborator

Hi @nacholiya, thanks for the contribution and for engaging with this issue!

This PR is a duplicate of #293, which was submitted a few minutes earlier and covers the same scope — terraform fmt -check and terraform validate enforcement for issue #288. PR #293 is more complete: it includes the PowerShell validation script, Pester tests, integration into both pr-validation.yml and main.yml, npm script additions, and updated documentation (12 files changed vs. 3 here).

I'll be closing this PR as already addressed by #293.

A note for future contributions: Before starting work on an open issue, please check whether the issue is already assigned to someone. If it is, the work is likely in progress. You're always welcome to comment on the issue to express interest or discuss collaboration — maintainers can reassign or coordinate from there. We'll be updating the contribution workflow guide to make this explicit to avoid similar situations.

Your PR allowed us to identify a gap in our contributor docs.

Thank you again for your interest in the project, we encourage you to pick up other open, unassigned issues!

@katriendg katriendg closed this Mar 17, 2026
katriendg added a commit that referenced this pull request Mar 18, 2026
…#299)

Clarify issue assignment requirement before starting work. Two
contributors independently opened PRs for the same issue (#288#293
and #294) because the contribution workflow didn't require issue
assignment before starting work.

Add step 1 to PR Workflow in
`docs/contributing/contribution-workflow.md`: "Check the issue is open
and unassigned" — request assignment via comment before starting work.
Covers both "already assigned" and `needs-triage` edge cases. Renumbers
existing steps 2–9 and updates `ms.date`.

The new step reads:

```markdown
1. **Check the issue is open and unassigned.** Comment on the issue to request assignment before starting any work. Maintainers will assign you when confirmed.
   * If the issue is already assigned to someone, do not open a competing PR without first coordinating with the assignee or a maintainer.
   * Issues labelled `needs-triage` are not ready to be picked up. You are welcome to comment your interest in being assigned — maintainers will follow up once triage is complete.
```

## Type of Change

- [x] 📚 Documentation update

## Component(s) Affected

- [x] `docs/` - Documentation

## Testing Performed

- [x] `npm run lint:md` passes with 0 errors
- [x] `cspell` spell check passes with 0 issues

## Documentation Impact

- [x] Documentation updated in this PR

## Checklist

- [x] My code follows the [project conventions](copilot-instructions.md)
- [x] Commit messages follow [conventional commit
format](instructions/commit-message.instructions.md)
- [x] I have performed a self-review
- [x] Documentation impact assessed above
- [x] No new linting warnings introduced

Closes #295
---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: katriendg <838216+katriendg@users.noreply.github.com>
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.

ci(infrastructure): create terraform fmt and validate reusable CI workflow

2 participants