Skip to content

Migrate CI build pipeline to Ubuntu (Linux) runner - #228

Merged
cjdutoit merged 1 commit into
mainfrom
claude/meshclient-linux-builds
Sep 10, 2026
Merged

cjdutoit merged 1 commit into
mainfrom
claude/meshclient-linux-builds

Conversation

@cjdutoit

Copy link
Copy Markdown
Contributor

What changed

The build job in .github/workflows/build.yml now runs on ubuntu-latest instead of windows-latest. This file is generated by NEL.MESH.Infrastructure (an ADotNet-based script generator), so the change was made in ScriptGenerationService.cs's RunsOn property and the workflow was regenerated from source, not hand-edited.

This is CI-only — local development is completely unaffected.

Why

Standardizing CI runners for repos tagged Team=Digital Development Team from Windows to Linux, for cost and consistency with other repos in the org.

Verification performed

  • No database dependency: grepped the whole repo for UseSqlServer, UseNpgsql, DbContext, dotnet ef, ConnectionStrings — none found (only unrelated matches in .agents/skills template/example files, not actual project code). No Docker/SQL Server CI steps were needed or added.
  • No .esproj projects: none present in the solution, so no Linux dotnet restore blocker from the JavaScript SDK's Windows-only TargetFrameworkVersion issue.
  • ProjectReference casing: checked every ProjectReference path in every .csproj against actual on-disk directory names — all match exactly, no case-sensitivity issues that would break on Linux.
  • Full solution build on Linux: dotnet restore and dotnet build against NEL.Mesh.slnx both succeed with 0 errors, including the net10.0-windows WinForms NEL.MESH.UI project — it builds fine via EnableWindowsTargeting, so no .slnf filter was needed.
  • Regenerated workflow validated: parses as valid YAML, and passes actionlint (a GitHub Actions schema linter, not just YAML syntax) with exit code 0.
  • Compared the regenerated build.yml against the previously committed version to confirm no unrelated regression — the only diff is the runs-on line.

Closes #227

🤖 Generated with Claude Code

https://claude.ai/code/session_013qa2PSvtyXPgZbxPyD8Uro


Generated by Claude Code

Changes the build job's RunsOn from windows-latest to ubuntu-latest in
ScriptGenerationService.cs (the ADotNet-based generator for
.github/workflows/build.yml) and regenerates build.yml accordingly.

This is CI-only: local development is unaffected. Verified no database
dependency exists in the repo (no UseSqlServer/UseNpgsql/DbContext/
ConnectionStrings usage), no .esproj projects are present, and no
ProjectReference casing mismatches exist between .csproj files and
actual directory names. The full solution (including the
net10.0-windows WinForms NEL.MESH.UI project, via EnableWindowsTargeting)
restores and builds successfully on Linux with 0 errors. The
regenerated workflow was validated with actionlint (exit 0) in
addition to YAML syntax.

Closes #227

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013qa2PSvtyXPgZbxPyD8Uro
Copilot AI lite review requested due to automatic review settings September 10, 2026 22:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

No unresolved review issues remain, and all reviewers assessed it as ready.

Pull request overview

Migrates the CI build job from Windows to Ubuntu while keeping the generated source and workflow consistent.

Changes:

  • Updates the source generator to use BuildMachines.UbuntuLatest.
  • Regenerates the workflow with ubuntu-latest.
File summaries
File Description
NEL.MESH.Infrastructure/Services/ScriptGenerationService.cs Updates the generated runner configuration.
.github/workflows/build.yml Applies the Ubuntu runner to the build workflow.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@cjdutoit
cjdutoit merged commit 3245150 into main Sep 10, 2026
10 checks passed
@cjdutoit
cjdutoit deleted the claude/meshclient-linux-builds branch September 10, 2026 22:32
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.

Migrate CI build pipeline to Ubuntu (Linux) runner with Dockerized database

3 participants