Skip to content

ci(hidi): select Linux pool for v2 container deployment - #913

Merged
Gavin Barron (gavinbarron) merged 2 commits into
support/v2from
gavinbarron-v2-hidi-container-linux-pool
Oct 14, 2026
Merged

Gavin Barron (gavinbarron) merged 2 commits into
support/v2from
gavinbarron-v2-hidi-container-linux-pool

Conversation

@gavinbarron

@gavinbarron Gavin Barron (gavinbarron) commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The hidi-v2.13.1 container publish job ran on a Windows agent and failed at SetUnixFileMode before ACR login or Docker execution. The deployment-hook vmImage did not survive 1ES template expansion, so the job inherited the pipeline's Windows pool.

  • Select Azure-Pipelines-1ESPT-ExDShared, image: ubuntu-latest, and os: linux at the supported deployment-job scope.
  • Remove the ineffective hook-level pool and document the Linux container job / Windows build and NuGet job split.
  • Apply the user-requested gitHubConnection: 'microsoftgraph (22)' to the Hidi GitHubRelease@1 task. The OData library pipeline and ADO repository checkout endpoint are untouched.
  • Preserve all other publishing inputs and steps, owner-only credential permissions, BuildKit secret cleanup, protected environment, artifact input, publishing gate, image tags/platforms, and component/dependency versions.

Validation

Parsed the YAML with the existing PyYAML installation and checked exact text and full-tree structural equivalence against the base for the pool relocation. For the connection follow-up, exact text and full-tree comparison against 2abbb2042189bfc57b7deca483d9d2f1468e165b confirms all other pipeline configuration and steps are unchanged. All gitHubConnection inputs in the Hidi YAML are covered: exactly one, now microsoftgraph (22). No directly related documentation names the old connection. Diff checks pass with the repository's existing CRLF line endings preserved.

Refreshed actual Azure DevOps template expansion passed at exact current head 859df3d5f92f0dbfe83501f38cc4ada2564a9cdb using previewRun: true; no run was created. The verifier parsed the server-returned finalYaml and confirmed:

  • Exactly one compiled GitHubRelease@1 connection, gitHubConnection: 'microsoftgraph (22)'.
  • publish_container: effective pool Azure-Pipelines-1ESPT-ExDShared, os: linux, hostArchitecture: amd64, demand ImageOverride -equals ubuntu-latest, and injected 1ES build-tools installer OS linux.
  • hidi build and publish_hidi NuGet/Windows artifact deployment: unchanged Windows pool, demand ImageOverride -equals windows-latest, and injected installer OS windows.
  • Exact v2 tag guards and protected environments nuget-org and docker-images-deploy retained.

Read-only ADO metadata confirms the existing requested connection is type GitHub, isReady: true, ID 507e403c-ec02-44cf-b7aa-fc0bf0121470. No permission changes were made; readiness does not prove live publishing authorization.

Current local parent-session verification report (not a repository artifact): C:\Users\gavinbarron\.copilot\session-state\c631d217-9378-4cee-8c7e-761043ff3ae5\files\official-release-250228\fixed-v2-859df3d5-preview.verification.json. Compiled preview: alongside it as fixed-v2-859df3d5-preview.yml.

Historical preview at previous head 2abbb2042189bfc57b7deca483d9d2f1468e165b also passed the Linux/Windows pool checks before the connection update. Its reports remain alongside the current report as fixed-v2-2abbb204-preview.verification.json and fixed-v2-2abbb204-preview.yml; they are historical evidence, not current-head connection proof.

The 1ES Custom Release Job contract supports deployment-job-level pools. The canonical E+D Shared Pool documentation explicitly lists ubuntu-latest on this approved pool and documents the name / image / os: linux contract.

The previews prove server-side template expansion at their respective heads, not production agent execution or successful publication. No build/release was queued, retried, or merged, and no tag was moved. The immutable old tag still selects its old YAML; rerunning it cannot adopt this fix. Publication requires a future approved corrected release ref/version.

Set the approved shared-pool Linux image at deployment-job scope instead of the ineffective deployment hook. Preserve the Windows default and all release steps and protections.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 233e3c6f-e303-4c8c-9256-13f42a56db46
@gavinbarron
Gavin Barron (gavinbarron) requested a review from a team as a code owner October 14, 2026 17:28
Use the user-selected microsoftgraph (22) service connection for the Hidi GitHubRelease input on support/v2. Preserve the Linux deployment pool correction and all other pipeline inputs and steps.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 233e3c6f-e303-4c8c-9256-13f42a56db46
@sonarqubecloud

Copy link
Copy Markdown

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving with suggestion to use our custom pools.

@gavinbarron
Gavin Barron (gavinbarron) merged commit a75338d into support/v2 Oct 14, 2026
44 checks passed
@gavinbarron
Gavin Barron (gavinbarron) deleted the gavinbarron-v2-hidi-container-linux-pool branch October 14, 2026 20:33
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