From 7a72706dd4e36d005fbf6d095fed670bca9dfd4d Mon Sep 17 00:00:00 2001 From: David Nguyen <87228593+davidnguyen-tech@users.noreply.github.com> Date: Thu, 16 Apr 2026 11:09:42 +0200 Subject: [PATCH 1/4] Fix incorrect SDK provisioning commands in integration-tests instructions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The instructions used `./build.sh --target=dotnet` which is invalid — unrecognized args are silently passed through to MSBuild as properties and do nothing useful. The Cake targets `dotnet` and `dotnet-local-workloads` exist but must be invoked via `dotnet cake --target=X`, not `./build.sh --target=X`. Replace with the recommended Arcade command `./build.sh -restore` which provisions the SDK and installs workloads via the `InitInternalTooling` target in eng/Tools.props. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/instructions/integration-tests.instructions.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/instructions/integration-tests.instructions.md b/.github/instructions/integration-tests.instructions.md index 672a0294f2ca..df23818e44c2 100644 --- a/.github/instructions/integration-tests.instructions.md +++ b/.github/instructions/integration-tests.instructions.md @@ -179,11 +179,8 @@ If the skill reports missing prerequisites, provision the local SDK: 1. **Provision the local SDK and workloads** - The `.dotnet/` folder must contain a fully provisioned .NET SDK with MAUI workloads. Run: ```bash - # Step 1: Download the .NET SDK (creates .dotnet/dotnet binary) - ./build.sh --target=dotnet - - # Step 2: Install MAUI workloads into the local SDK (takes ~5 minutes) - ./build.sh --target=dotnet-local-workloads + # Restore .NET SDK and workloads to .dotnet/ folder (recommended, uses Arcade infrastructure) + ./build.sh -restore ``` **Verification**: After provisioning, verify the setup: From fa372a58f367a8d066ae50cfea6940cf7d008867 Mon Sep 17 00:00:00 2001 From: David Nguyen <87228593+davidnguyen-tech@users.noreply.github.com> Date: Thu, 16 Apr 2026 15:16:40 +0200 Subject: [PATCH 2/4] Use -restore -pack to match integration test skill The integration test skill (Run-IntegrationTests.ps1) uses `./build.sh -restore -pack` because integration tests need locally-packed MAUI NuGet packages installed into the SDK, not just the SDK with published workloads. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/instructions/integration-tests.instructions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/instructions/integration-tests.instructions.md b/.github/instructions/integration-tests.instructions.md index df23818e44c2..c07550edc252 100644 --- a/.github/instructions/integration-tests.instructions.md +++ b/.github/instructions/integration-tests.instructions.md @@ -179,8 +179,8 @@ If the skill reports missing prerequisites, provision the local SDK: 1. **Provision the local SDK and workloads** - The `.dotnet/` folder must contain a fully provisioned .NET SDK with MAUI workloads. Run: ```bash - # Restore .NET SDK and workloads to .dotnet/ folder (recommended, uses Arcade infrastructure) - ./build.sh -restore + # Restore .NET SDK, build MAUI, and pack into .dotnet/ folder + ./build.sh -restore -pack ``` **Verification**: After provisioning, verify the setup: From fed93123e18f94fb432925a21e24fc5e0b29663b Mon Sep 17 00:00:00 2001 From: David Nguyen <87228593+davidnguyen-tech@users.noreply.github.com> Date: Tue, 26 May 2026 10:50:32 +0200 Subject: [PATCH 3/4] Use dotnet cake --- .github/instructions/integration-tests.instructions.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/instructions/integration-tests.instructions.md b/.github/instructions/integration-tests.instructions.md index c07550edc252..4f7c62025e3c 100644 --- a/.github/instructions/integration-tests.instructions.md +++ b/.github/instructions/integration-tests.instructions.md @@ -179,9 +179,11 @@ If the skill reports missing prerequisites, provision the local SDK: 1. **Provision the local SDK and workloads** - The `.dotnet/` folder must contain a fully provisioned .NET SDK with MAUI workloads. Run: ```bash - # Restore .NET SDK, build MAUI, and pack into .dotnet/ folder - ./build.sh -restore -pack - ``` + # Step 1: Download the .NET SDK (creates .dotnet/dotnet binary) + dotnet cake --target=dotnet + + # Step 2: Install MAUI workloads into the local SDK (takes ~5 minutes) + dotnet cake --target=dotnet-local-workloads **Verification**: After provisioning, verify the setup: ```bash From a65eeceab2594ca0268d4f31c045349e82684e76 Mon Sep 17 00:00:00 2001 From: David Nguyen <87228593+davidnguyen-tech@users.noreply.github.com> Date: Thu, 28 May 2026 16:02:32 +0200 Subject: [PATCH 4/4] Address MauiBot feedback: close fence and restore tools - Add 'dotnet tool restore' as Step 0 so 'dotnet cake' works on a fresh checkout (the Cake tool comes from .config/dotnet-tools.json). - Close the bash code fence after the workload command so the Verification section and its own fenced block render correctly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/instructions/integration-tests.instructions.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/instructions/integration-tests.instructions.md b/.github/instructions/integration-tests.instructions.md index 4f7c62025e3c..3990d8fc8393 100644 --- a/.github/instructions/integration-tests.instructions.md +++ b/.github/instructions/integration-tests.instructions.md @@ -179,11 +179,15 @@ If the skill reports missing prerequisites, provision the local SDK: 1. **Provision the local SDK and workloads** - The `.dotnet/` folder must contain a fully provisioned .NET SDK with MAUI workloads. Run: ```bash + # Step 0: Restore repo-local tools (Cake, etc.) from .config/dotnet-tools.json + dotnet tool restore + # Step 1: Download the .NET SDK (creates .dotnet/dotnet binary) dotnet cake --target=dotnet - + # Step 2: Install MAUI workloads into the local SDK (takes ~5 minutes) dotnet cake --target=dotnet-local-workloads + ``` **Verification**: After provisioning, verify the setup: ```bash