diff --git a/.gitea/workflows/dotnet-build-test-postgres.yaml b/.gitea/workflows/dotnet-build-test-postgres.yaml index b3bee4c..5f1faeb 100644 --- a/.gitea/workflows/dotnet-build-test-postgres.yaml +++ b/.gitea/workflows/dotnet-build-test-postgres.yaml @@ -18,7 +18,7 @@ on: required: false default: "Release" type: string - # string, not boolean: act_runner mangles boolean defaults (format() yields '%!t(string=false)'). + # string, not boolean: act_runner mangles boolean defaults. The value may still arrive as '%!t(string=…)', see Build step. warnaserror: description: "Treat build warnings as errors (\"true\"/\"false\")" required: false @@ -101,9 +101,11 @@ jobs: - name: Build run: | ARGS=(-c "$CONFIGURATION" --no-restore) - if [ "${WARNASERROR,,}" != "false" ]; then - ARGS+=(-warnaserror) - fi + # act_runner may deliver the value mangled as '%!t(string=false)', so match by substring. + case "${WARNASERROR,,}" in + *false*) ;; + *) ARGS+=(-warnaserror) ;; + esac set -x dotnet build ${SOLUTION:+"$SOLUTION"} "${ARGS[@]}" diff --git a/.gitea/workflows/dotnet-build-test.yaml b/.gitea/workflows/dotnet-build-test.yaml index ccee438..ef6da49 100644 --- a/.gitea/workflows/dotnet-build-test.yaml +++ b/.gitea/workflows/dotnet-build-test.yaml @@ -18,7 +18,7 @@ on: required: false default: "Release" type: string - # string, not boolean: act_runner mangles boolean defaults (format() yields '%!t(string=false)'). + # string, not boolean: act_runner mangles boolean defaults. The value may still arrive as '%!t(string=…)', see Build step. warnaserror: description: "Treat build warnings as errors (\"true\"/\"false\")" required: false @@ -66,9 +66,11 @@ jobs: - name: Build run: | ARGS=(-c "$CONFIGURATION" --no-restore) - if [ "${WARNASERROR,,}" != "false" ]; then - ARGS+=(-warnaserror) - fi + # act_runner may deliver the value mangled as '%!t(string=false)', so match by substring. + case "${WARNASERROR,,}" in + *false*) ;; + *) ARGS+=(-warnaserror) ;; + esac set -x dotnet build ${SOLUTION:+"$SOLUTION"} "${ARGS[@]}" diff --git a/README.md b/README.md index 313641a..30a8302 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ jobs: | `solution` | `""` | Solution/project file, relative to `working-directory`. If empty, dotnet uses the single sln/proj in that directory. | | `dotnet-version` | `10.0.x` | .NET SDK version | | `configuration` | `Release` | Build configuration | -| `warnaserror` | `"true"` | Pass `-warnaserror` to `dotnet build` unless the value is `"false"` | +| `warnaserror` | `"true"` | Pass `-warnaserror` to `dotnet build` unless the value contains `false` | | `working-directory` | `.` | Where dotnet commands run | | `test-filter` | `""` | Optional `dotnet test --filter` expression |