Skip to content

refactor(hidi): remove migrated main tool resources - #3111

Draft
Gavin Barron (gavinbarron) wants to merge 1 commit into
mainfrom
gavinbarron-hidi-main-source-cleanup
Draft

Gavin Barron (gavinbarron) wants to merge 1 commit into
mainfrom
gavinbarron-hidi-main-source-cleanup

Conversation

@gavinbarron

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

Copy link
Copy Markdown
Collaborator

Pull Request

Description

Remove the main-branch Hidi resources from OpenAPI.NET after the history-preserving migration merged into OpenAPI.NET.OData. Hidi remains discoverable through links to its new repository; the OpenAPI.NET core and YAML reader libraries retain their current code, versions, tests, signing, and release infrastructure.

Draft only: do not merge until the destination's signed Hidi payload is preserved inside the tool package and actual signed-artifact readiness is revalidated. Destination authorization has cleared and signing tasks succeeded, but downloaded artifacts exposed an unsigned Hidi DLL inside both branches' NuGet tool packages. Correcting and verifying that payload is now the release-handoff gate. This PR does not publish packages or images, change destination publishing flags, or authorize release resources.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Other (please describe): Hidi-only source-repository cleanup following an accepted migration.

Related Issue(s)

  • Accepted main migration: microsoft/OpenAPI.NET.OData#884, merged as 11e882530c3976ac1e563b28e264dcea5724e94f.
  • Accepted source support/v2 cleanup precedent: #3109, merged as c8e64dc3f486b4a2cfbc250e81628b47b9514b35; reviewed head c6717bb88f28bb4bed2ff7ae17313056d7ab9a92 retained the library GitHub release-edit job.

Changes Made

  • Delete the 20 Hidi source files, 19 Hidi test/fixture files, Hidi-only root Dockerfile, and local tool installation script. Remove their solution, build-script, CodeQL, editor, core-test project-reference, and obsolete Hidi friend-assembly entries.
  • Remove only the ADO Hidi package/executable publication, Hidi ESRP deployment, Docker image deployment and its secret-config lifecycle, Docker-only variables and repository artifact copy, obsolete Hidi package exclusion, and executable release assets. Preserve current main's core/YAML ESRP release jobs, idempotent version checks, authenticated feed, both signing tasks, package/symbol artifacts, and create_github_release with action: edit. The remaining deploy jobs are tag-only; the removed Docker job was the only main/nightly deploy consumer.
  • Update README and CONTRIBUTING discovery links to Hidi's main branch in OpenAPI.NET.OData. Preserve the shared signing key, core/YAML version 3.10.2, shared release scripts, security/feed configuration, historical changelog, commit-scope examples, and unrelated documentation. No dependency upgrades or history rewriting.

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed
  • All existing tests pass

Validation was performed by the parent migration session against cleanup commit bfc6e487631ffa8bb46d31c8778f96ddbd4c73e5.

  • Pristine main baseline e1a75437b76ebfc7c9eb446e9fd0b59a21afb14b: dotnet test --solution Microsoft.OpenApi.slnx -c Release passed 1970/1970, including 69 Hidi tests.
  • git diff --check passed for this 53-file cleanup.
  • dotnet build Microsoft.OpenApi.slnx -c Release -v quiet passed, 0 warnings and 0 errors.
  • dotnet test --solution Microsoft.OpenApi.slnx -c Release --no-build -v minimal passed 1901/1901, exactly the baseline minus the 69 migrated Hidi tests.
  • dotnet pack src\Microsoft.OpenApi\Microsoft.OpenApi.csproj -c Release --no-build -o C:\Users\gavinbarron\.copilot\session-state\c631d217-9378-4cee-8c7e-761043ff3ae5\files\source-main-cleanup-packages --include-symbols --include-source /p:SymbolPackageFormat=snupkg -v quiet passed.
  • dotnet pack src\Microsoft.OpenApi.YamlReader\Microsoft.OpenApi.YamlReader.csproj -c Release --no-build -o C:\Users\gavinbarron\.copilot\session-state\c631d217-9378-4cee-8c7e-761043ff3ae5\files\source-main-cleanup-packages --include-symbols --include-source /p:SymbolPackageFormat=snupkg -v quiet passed. The package directory contains only the four core/YAML 3.10.2 .nupkg/.snupkg files, with no Hidi package.
  • go run github.com/rhysd/actionlint/cmd/actionlint@v1.7.7 -shellcheck= -pyflakes= .github\workflows\codeql-analysis.yml passed.
  • Programmatic checks passed for YAML, all three VS Code JSONC files, the XML project/solution graph, embedded PowerShell ASTs, and package selectors. Both EsrpCodeSigning@6 inputs are unchanged; deploy_yaml_reader is identical; deploy_lib differs only by removal of the obsolete Hidi exclusion; create_github_release differs only by removal of the Hidi executable asset attachment. Shared signing key, version props, feed/organization/ProductBin variables, feed authentication, version-check helper, and historical changelog remain unchanged. No active Hidi graph entries or files remain.
  • No live release, image push, publisher activation, or resource authorization was performed.

No new library behavior is introduced, so no new library tests or integration tests were added. Only the migrated Hidi tests are removed; the remaining suites pass unchanged.

Checklist

  • My code follows the code style of this project
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Versions applicability

  • My change applies to the version 1.X of the library, if so PR link:
  • My change applies to the version 2.X of the library, if so PR link: #3109 (already merged)
  • My change applies to the version 3.X of the library, if so PR link: this PR
  • I have evaluated the applicability of my change against the other versions above.

See the contributing guidelines for more information about how patches are applied across multiple versions.

Additional Notes

Accepted destination follow-ups: Docker feed authentication microsoft/OpenAPI.NET.OData#890 merged as a86a14613e4e1cfff966aed55248a4f0e06b658b; Hidi-only NuGet ESRP/private-feed idempotency/package-symbol handoff microsoft/OpenAPI.NET.OData#891 merged as db4c6dc68c72aa8ab949c1ddfa13004ceaa05446. Physical Pester corrections merged via microsoft/OpenAPI.NET.OData#895 (support/v2, 3aae8d6f1e0511501e93385ebeabe5359084532e) and microsoft/OpenAPI.NET.OData#896 (main, cb766cb7a16925d1967f92ed9e48a583eaa934aa). Independent Hidi version/tag routing merged via microsoft/OpenAPI.NET.OData#898 (support/v2, 7ab04f294e34d397e47dc4a99e54d7ed6724e82f) followed by microsoft/OpenAPI.NET.OData#897 (main, 0b8e521a1c7fc8be74d9070ab7229d66da5d9549). These code/review follow-ups are accepted. The migration coordinator verified canonical ancestry, common stock release configuration, tag guards, exact OData packaging, and disabled publication on both accepted targets.

Publisher-handoff gate remains: signed tool payload correction and revalidation. Keep this PR in draft. Authorization for destination official Hidi pipeline 759 was cleared externally; the current publication-disabled runs 248624 (support/v2) and 248625 (main) completed signing tasks successfully. The migration coordinator downloaded the actual artifacts and verified the NuGet package and executable signatures, but the Hidi DLL inside the NuGet tool package is unsigned on both branches. On main, its hash exactly matches the pre-sign log hash despite the signing log confirming a signed staging DLL. This is signed-payload loss during packing, not an outstanding authorization failure; successful signing tasks and signed package envelopes alone do not prove payload readiness.

Separate destination follow-ups are correcting the actual PackAsTool signed payload and adding a fail-closed guard through new normal PRs. Before source cleanup can land, those corrections must be accepted and new official artifacts must verify the signed Hidi DLL inside the package, as well as package/executable signatures and destination signing/feed/release/container readiness. The coordinated publisher cutover remains required. Destination publication switches remain false; no real release or publication occurred. Do not mark this source PR ready, enable auto-merge, or merge it based on the earlier successful signing-task results.

Stock Release Please generated separate open Hidi version PRs microsoft/OpenAPI.NET.OData#901 (v2.13.0) and microsoft/OpenAPI.NET.OData#902 (v3.11.0), independently of root library versions. Do not merge those version PRs or create releases as part of this cleanup. No publisher activation, resource grant, or real publication is authorized by this PR.

This change is scoped only to main cleanup. The support/v2 cleanup is already accepted separately; support/v1 and the overall migration's publication handoff are not completed by this PR.

Follow accepted OpenAPI.NET.OData main migration PR884. Preserve current library ESRP/signing/feed/version-check and GitHub release infrastructure; point hidi documentation to its new home. Cleanup acceptance remains gated on publisher handoff readiness.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c631d217-9378-4cee-8c7e-761043ff3ae5
@github-code-quality

Copy link
Copy Markdown

Code Coverage Overview

Languages: C#

C# / code-coverage/dotnet

The overall line coverage in commit bfc6e48 in the gavinbarron-hidi-mai... branch is 93%. The line coverage in commit e1a7543 in the main branch is 61%.

Show a line coverage summary of the most impacted files.
File main e1a7543 gavinbarron-hidi-mai... bfc6e48 +/-
/home/runner/wo...ilterService.cs 82% 41% -41%
/home/runner/wo...pyReferences.cs 63% 47% -16%
/home/runner/wo...rationSearch.cs 100% 85% -15%
/home/runner/wo...OpenApiError.cs 64% 55% -9%
/home/runner/wo...mlJsonParser.cs 0% 85% +85%
/home/runner/wo...amlConverter.cs 0% 89% +89%
/home/runner/wo...ersionBudget.cs 0% 91% +91%
/home/runner/wo...piYamlReader.cs 0% 92% +92%
/home/runner/wo...gsExtensions.cs 0% 100% +100%
/home/runner/wo...aderSettings.cs 0% 100% +100%

@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2026

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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