Repository navigation
Add ARM activity validation for Terraform quickstarts - #501
Merged
Steven Ma (stevenjma) merged 8 commits intoNov 10, 2026
Merged
Conversation
Add correlation-backed metadata validation and a maintainer-triggered /validate workflow for Terraform quickstarts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Filter changed-files output to existing quickstart sample directories before invoking metadata and Terraform validation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Restore PR coverage for E2E test changes and scope metadata freshness checks to deployable or metadata updates. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Configure the validation workflow for a dedicated corporate OIDC application with no Azure subscription roles. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Query the three regional ARM request stores with stable fail-closed snapshots and distinguish synchronous completion from asynchronous acceptance. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
Author
|
@microsoft-github-policy-service agree company="Microsoft" |
Block validation-contract changes from /validate, run validator tests in CI, align timestamp contracts, and state the contributor-supplied evidence boundary precisely. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Tighten contributor documentation and reviewer-facing workflow names without changing validation behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Chunyan (Vieran)
suggested changes
Oct 22, 2026
Require repository write permission for /validate, include deleted quickstart files in change detection, and fail closed on Kusto partial query failures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
Author
|
#sign-off |
5 of 6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The current quickstart E2E workflow runs PR code with repository-owned Azure credentials and cannot run for forks.
This PR changes the model: contributors deploy the sample in their own subscription, record an ARM correlation ID, and a maintainer verifies the resulting ARM activity with
/validate.How it works
ARM_CORRELATION_REQUEST_ID.metadata.jsonrecords the correlation ID and UTC start time./validate.masterqueries the three approved regional ARMProd stores.terraform-deployment-validationon the exact PR commit.Security boundary
/validatenever executes quickstart code from the PR./validate; those changes must merge and be canary-tested separately.test/**retain a separate internal E2E workflow. Forks do not receive repository OIDC credentials.What the check proves
The contributor-supplied correlation ID has:
It does not prove:
terraform applyexited successfully; or202 Acceptedoperation eventually provisioned successfully.These are explicit limits of the good-faith evidence model. Code review and static checks remain required.
Reviewer guide
/validateauthorization and trusted checkout.github/workflows/e2e.yaml.github/scripts/validate-arm-correlation.py.github/scripts/validate-quickstart-metadata.py,.github/schemas/quickstart-metadata.schema.json.github/workflows/pr-check.yaml.github/workflows/e2e-pr.yamlquickstart/CONTRIBUTE.mdValidation completed
Rollout
issue_commentworkflows load from the default branch, so the final canary happens after merge on a fresh single-quickstart PR with valid metadata.