Skip to content

ci: add real-hardware Azure TiP validation - #212

Draft
Haitao Huang (haitaohuang) wants to merge 1 commit into
microsoft:one_hashfrom
haitaohuang:azure_ci_one_hash
Draft

Haitao Huang (haitaohuang) wants to merge 1 commit into
microsoft:one_hashfrom
haitaohuang:azure_ci_one_hash

Conversation

@haitaohuang

Copy link
Copy Markdown
Collaborator

Summary

Adds a PR-gate CI workflow and Azure TiP (Test in Production) harness for real-hardware TDX acceptance testing on Microsoft Azure machines.

What is added

| File | Purpose |
|------|---------||
| .github/workflows/pr-azure-tip.yml | GitHub Actions workflow that gates PRs on TiP hardware |
| sh_script/Azure/tip/Invoke-TipHarness.ps1 | Main orchestration harness with fail-closed cleanup |
| sh_script/Azure/tip/TipHarness.Common.ps1 | Shared helpers for consistent setup/teardown across test scripts |
| sh_script/Azure/tip/Invoke-TdxLmLoopback.ps1 | TDX live-migration loopback test (updated for harness API) |
| sh_script/Azure/tip/Run-TipTests.ps1 | Top-level test runner (updated for harness API) |
| sh_script/Azure/tip/Test-TdxLmRebind.ps1 | TDX rebind test (updated for harness API) |
| sh_script/Azure/tip/Test-TdxServTdExtPrebind.ps1 | ServTD ext-prebind test (minor harness alignment) |
| sh_script/Azure/tip/build_tip_package.sh | Build script for the TiP test package |
| sh_script/Azure/tip/README.md | Updated documentation for the harness |

Validation

  • Bash syntax: bash -n build_tip_package.shPASS
  • YAML lint: Python yaml.safe_load on workflow — PASS
  • git diff --check: no whitespace errors — PASS
  • PowerShell parse: SKIPPED (pwsh not available in CI host)

Hardware Prerequisites

⚠️ This workflow runs exclusively on real TDX hardware. It never uses emulation.

  • Acceptance jobs run only on runners labeled [self-hosted, tdx-tip]
  • The workflow requires the tip-approved label on the PR before any hardware job dispatches
  • The tip-hardware-gate environment is protected; environment-level approval is required before runners execute
  • Secrets (AZURE_TIP_*) must be pre-configured in the tip-hardware-gate environment
  • Fail-closed: any harness error triggers full cleanup before the job exits

Add a GitHub Actions workflow and PowerShell/Bash TiP harness scripts
for PR-gate real-hardware acceptance testing on Azure TDX machines.
The harness collects TiP evidence logs, enforces fail-closed cleanup on
error, and exposes reusable helpers so individual test scripts can share
consistent setup and teardown logic.

Assisted-by: Squad Coordinator:GPT-5.6 Sol

Signed-off-by: Haitao Huang <haitaohuang@microsoft.com>
@haitaohuang
Haitao Huang (haitaohuang) marked this pull request as draft July 27, 2026 21:43
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.

1 participant