50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
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" |