steps: restore: image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - dotnet restore --no-cache --force build: image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - dotnet build --no-restore -c Release depends_on: - restore test: image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - dotnet test --no-build -c Release --logger "trx" --results-directory ./test-results depends_on: - build pack-nuget: image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - | for proj in $(find . -name "*DataModel.csproj"); do echo "Packaging $proj" dotnet pack "$proj" --no-build -c Release -o ./nuget-packages done when: branch: ${CI_REPO_DEFAULT_BRANCH} event: push path: include: - "**/*DataModel.csproj" publish-api: image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - | for proj in $(find . -name "*API.csproj"); do proj_name=$(basename "$proj" .csproj) echo "Publishing $proj" dotnet publish "$$ proj" --no-build -c Release -o ./publish/ $${proj_name} done when: branch: ${CI_REPO_DEFAULT_BRANCH} event: push path: include: - "**/*API.csproj"