38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
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"
|