name: ci on: push: pull_request: jobs: build-test: runs-on: [self-hosted, linux, x64, docker] container: # Use a .NET SDK image so you can drop setup-dotnet (faster) image: mcr.microsoft.com/dotnet/sdk:9.0 options: >- --privileged # DO NOT mount /var/run/docker.sock here; the runner already does it steps: - uses: actions/checkout@v4 # If you stick with the .NET SDK image above, you can remove setup-dotnet. # If you prefer the catthehacker Ubuntu image, keep setup-dotnet. # - uses: actions/setup-dotnet@v4 # with: # dotnet-version: '9.0.x' - uses: actions/cache@v4 with: path: ~/.nuget/packages key: nuget-${{ runner.os }}-${{ hashFiles('**/*.csproj') }} restore-keys: | nuget-${{ runner.os }}- - name: Docker sanity (ensures socket mount is working) run: docker version - run: dotnet restore - run: dotnet build --configuration Release --no-restore - run: dotnet test --configuration Release --no-build --logger "trx;LogFileName=test-results.trx"