Move source-build container to Azure Linux 4 after Arcade trailing-backslash fix

Open Beginner friendly
#70,524 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
azure, csharp, github-actions

Research direction

Read the fix in dotnet/arcade#17800 and check that it has reached aspnetcore through an Arcade update. Then inspect .azure/pipelines/ci.yml and .azure/pipelines/ci-public.yml and update the source-build containers to the Azure Linux 4 image named in the issue. Done when both source-build jobs use that image and the source-build job no longer fails with the trailing-backslash argument.

Written by the indexing model from the issue text.

Description

area-infrastructure

dotnet/aspnetcore#70522 moves aspnetcore's build and cross containers to Azure Linux 4. The source-build job stays on azurelinux-3.0-net11.0-cross-amd64 for now because it fails on Azure Linux 4.

Cause: Arcade's eng/common/core-templates/steps/source-build.yml ends the build command with a trailing line continuation ($portableBuildArgs \). Azure Pipelines trims the script, so the generated file ends with a backslash and no newline:

  • bash 5.2.15 (Azure Linux 3) drops the backslash.
  • bash 5.3.9 (Azure Linux 4) passes a literal \ argument to build.sh, and the build fails:
+ ./eng/build.sh --ci --configuration Release --restore --build --pack -bl --source-build --source-build -p:CrossBuild=true '\'
MSBUILD : error MSB1008: Only one project can be specified.

Fix in Arcade: https://github.com/dotnet/arcade/pull/17800 (dotnet/arcade#17800)

Follow-up: after that fix reaches aspnetcore through an Arcade update, move the source-build container to Azure Linux 4:

  • .azure/pipelines/ci.yml: azureLinuxCrossX64 → mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-4.0-net11.0-cross-amd64
  • .azure/pipelines/ci-public.yml: the source-build job's container → same image

[!NOTE]
This issue was generated with the help of GitHub Copilot.

Dominant language
C#
Stars
38.5k
Forks
12.3k
Avg merge
3d 2h
Merged PRs (30d)
283

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/aspnetcore

All issues in dotnet/aspnetcore

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.