From bbdb16931ee77969999f6be8611ebfe4f6a0f194 Mon Sep 17 00:00:00 2001 From: Chris Tristan <1764856+CTristan@users.noreply.github.com> Date: Fri, 17 Apr 2026 18:18:26 -0700 Subject: [PATCH 1/2] Fix dotnet-ci tool name check to match actual package The tool name check grepped for 'dotnet-ci' but the published package is 'OpenLobotomy.Tooling' (normalized to 'openlobotomy.tooling' in dotnet tool list output). Consumer repos would fail the check even when the correct tool was installed. --- .github/workflows/dotnet-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dotnet-ci.yml b/.github/workflows/dotnet-ci.yml index 9dc25c4..ff3410b 100644 --- a/.github/workflows/dotnet-ci.yml +++ b/.github/workflows/dotnet-ci.yml @@ -64,14 +64,14 @@ jobs: - name: Restore tools run: | if [ ! -f .config/dotnet-tools.json ]; then - echo "::error file=.config/dotnet-tools.json::This reusable workflow requires a local .NET tool manifest in the consuming repository. Add .config/dotnet-tools.json with the dotnet-ci tool (for example: 'dotnet new tool-manifest' then 'dotnet tool install dotnet-ci') or update the repository to the current org CI bootstrap." + echo "::error file=.config/dotnet-tools.json::This reusable workflow requires a local .NET tool manifest in the consuming repository. Add .config/dotnet-tools.json with the OpenLobotomy.Tooling tool (for example: 'dotnet new tool-manifest' then 'dotnet tool install OpenLobotomy.Tooling') or update the repository to the current org CI bootstrap." exit 1 fi dotnet tool restore - if ! dotnet tool list --local | awk 'NR > 2 { print $1 }' | grep -Fxq 'dotnet-ci'; then - echo "::error file=.config/dotnet-tools.json::The local .NET tool manifest does not include the required 'dotnet-ci' tool. Install it with 'dotnet tool install dotnet-ci' and commit the updated .config/dotnet-tools.json." + if ! dotnet tool list --local | awk 'NR > 2 { print $1 }' | grep -Fxq 'openlobotomy.tooling'; then + echo "::error file=.config/dotnet-tools.json::The local .NET tool manifest does not include the required 'OpenLobotomy.Tooling' tool. Install it with 'dotnet tool install OpenLobotomy.Tooling' and commit the updated .config/dotnet-tools.json." exit 1 fi From a7ed91a83e78e3ca3c4388380bb8c1d33f140fb8 Mon Sep 17 00:00:00 2001 From: Chris Tristan <1764856+CTristan@users.noreply.github.com> Date: Fri, 17 Apr 2026 18:47:47 -0700 Subject: [PATCH 2/2] Add --local flag to tool install hints in error messages dotnet tool install without a scope flag is ambiguous and can install globally; the workflow validates a local manifest, so the remediation text should direct users to install locally. --- .github/workflows/dotnet-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dotnet-ci.yml b/.github/workflows/dotnet-ci.yml index ff3410b..cbbb6c8 100644 --- a/.github/workflows/dotnet-ci.yml +++ b/.github/workflows/dotnet-ci.yml @@ -64,14 +64,14 @@ jobs: - name: Restore tools run: | if [ ! -f .config/dotnet-tools.json ]; then - echo "::error file=.config/dotnet-tools.json::This reusable workflow requires a local .NET tool manifest in the consuming repository. Add .config/dotnet-tools.json with the OpenLobotomy.Tooling tool (for example: 'dotnet new tool-manifest' then 'dotnet tool install OpenLobotomy.Tooling') or update the repository to the current org CI bootstrap." + echo "::error file=.config/dotnet-tools.json::This reusable workflow requires a local .NET tool manifest in the consuming repository. Add .config/dotnet-tools.json with the OpenLobotomy.Tooling tool (for example: 'dotnet new tool-manifest' then 'dotnet tool install --local OpenLobotomy.Tooling') or update the repository to the current org CI bootstrap." exit 1 fi dotnet tool restore if ! dotnet tool list --local | awk 'NR > 2 { print $1 }' | grep -Fxq 'openlobotomy.tooling'; then - echo "::error file=.config/dotnet-tools.json::The local .NET tool manifest does not include the required 'OpenLobotomy.Tooling' tool. Install it with 'dotnet tool install OpenLobotomy.Tooling' and commit the updated .config/dotnet-tools.json." + echo "::error file=.config/dotnet-tools.json::The local .NET tool manifest does not include the required 'OpenLobotomy.Tooling' tool. Install it with 'dotnet tool install --local OpenLobotomy.Tooling' and commit the updated .config/dotnet-tools.json." exit 1 fi