Skip to content

feat: add release-tests orchestrator workflow (test-all.yml) - #209

Merged
Elizabeth Maher (EMaher) merged 2 commits into
mainfrom
emaher-feat-release-test-workflow
Jul 2, 2026
Merged

Elizabeth Maher (EMaher) merged 2 commits into
mainfrom
emaher-feat-release-test-workflow

Conversation

@EMaher

Copy link
Copy Markdown
Contributor

Summary

Adds a Test: Release Tests orchestrator workflow that runs all test suites sequentially before a release, with fail-fast behavior. Also runs monthly on a cron schedule.

Execution Order

  1. CI — lint + unit tests + build-package integration test (via ci.yml)
  2. Round-Trip Integration — full extract→publish round-trip (via test-round-trip.yml)
  3. Redact Secrets Integration — secret redaction validation (via test-redact-secrets.yml)

Each step requires the previous to pass. If any stage fails, subsequent stages are skipped.

Changes

  • ci.yml: Added workflow_call trigger so it can be reused by the orchestrator
  • test-all.yml (new): Orchestrator workflow (manual dispatch + monthly cron) that chains all tests in order
  • test-round-trip.yml (renamed from integration-test.yml): Removed secrets: contract from workflow_call, added "Validate Required Secrets" and "Validate Azure Region" pre-flight steps, made APIM_PUBLISHER_EMAIL optional, used choice type for inputs, extracted defaults into env: variables
  • test-redact-secrets.yml (renamed from integration-redact-secrets.yml): Same simplifications as above
  • SKILL.md: Updated prerequisites documentation for the new workflow architecture

Key Design Decisions

  • Called workflows access secrets via their environment: integration-test declaration — no secret pass-through from the orchestrator
  • Each called workflow validates required secrets at runtime with a clear error message
  • vars.DEFAULT_* repo variables are used for configurable defaults in the orchestrator (with hardcoded fallbacks)
  • if: github.ref == 'refs/heads/main' guards ensure integration tests only run from main

Adds three workflows:
- test-unit.yml: reusable workflow for unit tests
- test-build-package.yml: reusable workflow for build-package integration test
- release-tests.yml: orchestrator that runs all tests in order (unit → build-package → all-types) with fail-fast

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@EMaher
Elizabeth Maher (EMaher) force-pushed the emaher-feat-release-test-workflow branch from 7ee4487 to d1a968b Compare July 1, 2026 19:44
Move id-token: write from workflow-level to the two integration job
calls that need OIDC login. The ci job no longer receives it,
satisfying least-privilege while keeping OIDC working.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@EMaher
Elizabeth Maher (EMaher) merged commit a213d6c into main Jul 2, 2026
5 checks passed
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.

2 participants