ci(.github/workflows): install .NET 10 SDK alongside 8.0 for the engineer-bot build#542
Closed
eric-wang-1990 wants to merge 1 commit into
Closed
ci(.github/workflows): install .NET 10 SDK alongside 8.0 for the engineer-bot build#542eric-wang-1990 wants to merge 1 commit into
eric-wang-1990 wants to merge 1 commit into
Conversation
…neer-bot build The C# build graph includes net10.0 targets (the csharp/hiveserver2 submodule + multi-targeted projects), and `dotnet restore` evaluates all TFMs — so a net8-only SDK can't build it. ubuntu-latest has net10 pre-baked (csharp.yml works there); the self-hosted peco-driver runner does not. Install both 8.0.x and 10.0.x to the writable DOTNET_INSTALL_DIR. Runner prerequisite (already applied, one-time, not in this PR): AlmaLinux's crypto policy blocks SHA-1 signatures, which .NET strong-name signing requires (the hiveserver2 submodule grants keyed InternalsVisibleTo, so unsigned builds fail) — re-enabled via `update-crypto-policies --set DEFAULT:SHA1`. Co-authored-by: Isaac
eric-wang-1990
requested review from
gopalldb,
lidavidm,
msrathore-db and
vikrantpuppala
as code owners
June 22, 2026 05:27
Collaborator
Author
|
Not needed — net10 is now provisioned on the peco-driver VM (in /usr/share/dotnet, like ubuntu-latest), so plain setup-dotnet finds it. Reverting the .NET workflow patches instead (single managed VM, moving to a public runner later). |
eric-wang-1990
added a commit
that referenced
this pull request
Jun 22, 2026
…n the runner) (#543) Reverts the `DOTNET_INSTALL_DIR` redirect from #541 — `setup-dotnet` goes back to plain `dotnet-version: '8.0.x'` (matching `csharp.yml`). ## Why now The peco-driver VM (single, managed, temporary — moving to a public runner later) has been **provisioned to mimic `ubuntu-latest`**: - **net8 (8.0.422) + net10 (10.0.301)** installed in `/usr/share/dotnet`, owned by the runner user, `dotnet` on PATH. - **SHA-1 signatures re-enabled** (`update-crypto-policies --set DEFAULT:SHA1`) for .NET strong-name signing. So plain `setup-dotnet` finds the system net8, and the build's net10 targets resolve — no workflow patch needed. This keeps the bot workflows standard, so nothing changes when the runner moves to a public one. (#542's per-job net10 install was closed in favor of this.) Validated on the runner: with net8+net10 present and SHA-1 allowed, the build clears the restore + signing errors. The full red→green is confirmed by re-running the engineer-bot on a clean checkout. This pull request and its description were written by Isaac.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The engineer-bot build fails on the peco-driver runner because the C# build graph includes net10.0 targets (the
csharp/hiveserver2submodule + multi-targeted projects), anddotnet restoreevaluates all TFMs — but the runner only had net8 (#541's per-job install).ubuntu-latesthas net10 pre-baked, which is whycsharp.ymlbuilds there.Fix
Install both 8.0.x and 10.0.x to the writable
DOTNET_INSTALL_DIRinengineer-bot.yaml+engineer-bot-followup.yml. (net10 SDK builds the lower TFMs; net8 runtime is kept for running net8-targeted tests.)Runner prerequisite (already applied — not in this PR)
AlmaLinux 9's crypto policy disables SHA-1 signatures, which .NET strong-name signing requires (the hiveserver2 submodule grants
InternalsVisibleTowith a public key, so unsigned builds fail withCS0281). Re-enabled on the runner viaupdate-crypto-policies --set DEFAULT:SHA1(minimal subpolicy; matchesubuntu-latest).Verified directly on the runner: with net10 installed and SHA-1 allowed, the build clears the restore + signing errors that previously blocked it.
This completes the engineer-bot's runner enablement (after #539 python, #540 npm, #541 .NET-install).
This pull request and its description were written by Isaac.