UltimateCoderandClaude Opus 5.5 bab87d59c5 chore: add Renovate config
Updates the actions used in the workflows (github-actions manager).
No automerge: there is no build to gate an update, and main only
reaches consumers when the vN tag is moved after a live test.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011AgnQS6MHAGGoLNQDvv52d
2026-10-17 01:26:16 +02:00
2026-10-17 01:26:16 +02:00

dotnet-build-test

Reusable Gitea Actions workflow: dotnet restore → build → test, with no Docker. Meant as a PR gate, for example so Renovate can automerge.

Usage

on:
  pull_request:

jobs:
  build-test:
    uses: templates/dotnet-build-test/.gitea/workflows/dotnet-build-test.yaml@v1
    with:
      solution: MyApp.slnx
      # dotnet-version: 10.0.x
      # configuration: Release
      # warnaserror: true
      # working-directory: .
      # test-filter: "Category!=Integration"

Inputs

Name Default Description
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 contains false
working-directory . Where dotnet commands run
test-filter "" Optional dotnet test --filter expression

No secrets.

Variant with PostgreSQL

dotnet-build-test-postgres.yaml runs the same steps as above, plus a PostgreSQL service container for integration tests. It has its own file because Gitea can't make services: conditional.

jobs:
  build-test:
    uses: templates/dotnet-build-test/.gitea/workflows/dotnet-build-test-postgres.yaml@v1
    with:
      solution: MyApp.slnx
      postgres-user: myapp
      postgres-password: myapp
      # postgres-image: postgres:17-alpine
      # postgres-db: ""   # empty = same as postgres-user

It takes all inputs of dotnet-build-test.yaml, plus these:

Name Default Description
postgres-image postgres:17-alpine Service image
postgres-user postgres Superuser, so it can create and drop databases
postgres-password postgres Throwaway CI password, not a secret
postgres-db "" Database created at start. Empty means the same as postgres-user

The test step gets POSTGRES_HOST=postgres, POSTGRES_PORT=5432, POSTGRES_USER, POSTGRES_PASSWORD and POSTGRES_DB as environment variables. The job reaches the service by its name on the job network, which requires a container-mode runner. No host port is mapped. A step before the tests waits up to 60 s for the port to open.

No secrets.

Versioning

Only major tags (v1, v2, …). Fixes and new optional inputs move the existing tag. Changing or removing inputs, or changing behavior, needs a new major tag.

S
Description
Reusable workflow: .NET restore, build and test (PR gate)
Readme
50 KiB
0 Stars 2 Watchers 0 Forks