Skip to content

fix(ci): use a safe artifact for the hidi container release handoff - #888

Merged
Vincent Biret (baywet) merged 1 commit into
support/v2from
gavinbarron-hidi-pipeline-handoff
Oct 9, 2026
Merged

Vincent Biret (baywet) merged 1 commit into
support/v2from
gavinbarron-hidi-pipeline-handoff

Conversation

@gavinbarron

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #883 for the accepted support/v2 hidi destination. Fix the official pipeline's 1ES validation failure: release jobs cannot check out source.

  • Stage a separate HidiDockerContext pipeline artifact in the build job using an explicit allowlist of hidi/OData reader sources, required build/Docker files, and the two public-only signing keys. Exclude bin, obj, .git, build artifacts, and all other .snk files.
  • Declare that artifact as a 1ES templateContext.inputs dependency, remove release checkout, and use the downloaded context explicitly for version reading, the AzureCLI working directory, and Dockerfile/build-context paths.
  • Use the existing protected docker-images-deploy environment instead of the nonexistent hidi-container environment. No environment or approval/check policy is created or changed.
  • Document the artifact boundary in the hidi Docker instructions.

Release safety

hidiPublishingEnabled remains hard-disabled ('false'). The existing Hidi NuGet/Windows artifact, signing tasks/identities, registry/service connection, version guards, tags, and platforms are unchanged. No private key is copied. No releases, image pushes, policy bypasses, or source removals are performed by this PR.

Validation

  • Parsed YAML and preservation assertions passed for the existing build/signing/publishing configuration and the new 1ES artifact wiring.
  • Emulated CopyFiles@2 matching with Azure Pipelines task-lib: 207 allowlisted files; all 14 synthetic exclusion cases rejected; exactly two 160-byte public-only signing-key blobs.
  • dotnet publish from the isolated artifact with -p:HidiPublicSignBuild=true succeeded; the published CLI --help smoke test succeeded.
  • Whitespace validation passed with CRLF-aware checking, preserving existing file line endings.
  • Official pipeline 759 template/queue validation is being coordinated separately with publishing disabled. A local Docker build could not run because the Docker daemon is unavailable; no push was attempted.

Only .azure-pipelines/hidi-release.yml and src/Microsoft.OpenApi.Hidi/readme.md are changed. Normal review/check requirements apply; this PR does not enable source cutover.

Stage only required hidi and OData sources, build files, and public signing keys. Consume the context without release checkout and use the existing protected Docker deployment environment. Keep publishing disabled.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 7410eba7-e02c-4628-aeb3-dca59d99f3f1
@gavinbarron
Gavin Barron (gavinbarron) requested a review from a team as a code owner October 9, 2026 14:44
@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2026

Copy link
Copy Markdown

@baywet
Vincent Biret (baywet) merged commit ba2f31f into support/v2 Oct 9, 2026
46 of 47 checks passed
@baywet
Vincent Biret (baywet) deleted the gavinbarron-hidi-pipeline-handoff branch October 9, 2026 15:04
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