1
0
Files
common/.gitlab-ci.yml
2023-10-13 19:36:06 +02:00

226 lines
5.2 KiB
YAML

# The image has to use the same version as the .NET UnitTest project
image: mcr.microsoft.com/dotnet/sdk:6.0
variables:
TZ: "Europe/Berlin"
LANG: "de"
stages:
- build
- test
- deploy
branch build:
stage: build
tags:
- docker
- lnx
except:
- tags
script:
- dotnet restore --no-cache --force
- dotnet build -c Debug --nologo --no-restore --no-incremental
- mkdir ./artifacts
- mv ./AMWD.Common/bin/Debug/*.nupkg ./artifacts/
- mv ./AMWD.Common/bin/Debug/*.snupkg ./artifacts/
- mv ./AMWD.Common.AspNetCore/bin/Debug/*.nupkg ./artifacts/
- mv ./AMWD.Common.AspNetCore/bin/Debug/*.snupkg ./artifacts/
- mv ./AMWD.Common.EntityFrameworkCore/bin/Debug/*.nupkg ./artifacts/
- mv ./AMWD.Common.EntityFrameworkCore/bin/Debug/*.snupkg ./artifacts/
- mv ./AMWD.Common.Test/bin/Debug/*.nupkg ./artifacts/
- mv ./AMWD.Common.Test/bin/Debug/*.snupkg ./artifacts/
artifacts:
paths:
- artifacts/*.nupkg
- artifacts/*.snupkg
expire_in: 7 days
branch test:
stage: test
tags:
- docker
- lnx
except:
- tags
coverage: '/Total[^|]*\|[^|]*\|\s*([0-9.%]+)/'
script:
- dotnet restore --no-cache --force
- dotnet test -c Debug --nologo --no-restore
main build common:
stage: build
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
changes:
- AMWD.Common/**
script:
- dotnet restore --no-cache --force
- dotnet build -c Release --nologo --no-restore --no-incremental
- mkdir ./artifacts
- mv ./AMWD.Common/bin/Release/*.nupkg ./artifacts/
- mv ./AMWD.Common/bin/Release/*.snupkg ./artifacts/
artifacts:
paths:
- artifacts/*.nupkg
- artifacts/*.snupkg
expire_in: 1 day
main build aspnet:
stage: build
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
changes:
- AMWD.Common.AspNetCore/**
script:
- dotnet restore --no-cache --force
- dotnet build -c Release --nologo --no-restore --no-incremental
- mkdir ./artifacts
- mv ./AMWD.Common.AspNetCore/bin/Release/*.nupkg ./artifacts/
- mv ./AMWD.Common.AspNetCore/bin/Release/*.snupkg ./artifacts/
artifacts:
paths:
- artifacts/*.nupkg
- artifacts/*.snupkg
expire_in: 1 day
main build entityframework:
stage: build
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
changes:
- AMWD.Common.EntityFrameworkCore/**
script:
- dotnet restore --no-cache --force
- dotnet build -c Release --nologo --no-restore --no-incremental
- mkdir ./artifacts
- mv ./AMWD.Common.EntityFrameworkCore/bin/Release/*.nupkg ./artifacts/
- mv ./AMWD.Common.EntityFrameworkCore/bin/Release/*.snupkg ./artifacts/
artifacts:
paths:
- artifacts/*.nupkg
- artifacts/*.snupkg
expire_in: 1 day
main build test:
stage: build
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
changes:
- AMWD.Common.AspNetCore/**
script:
- dotnet restore --no-cache --force
- dotnet build -c Release --nologo --no-restore --no-incremental
- mkdir ./artifacts
- mv ./AMWD.Common.Test/bin/Release/*.nupkg ./artifacts/
- mv ./AMWD.Common.Test/bin/Release/*.snupkg ./artifacts/
artifacts:
paths:
- artifacts/*.nupkg
- artifacts/*.snupkg
expire_in: 1 day
main test all:
stage: test
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
coverage: '/Total[^|]*\|[^|]*\|\s*([0-9.%]+)/'
script:
- dotnet restore --no-cache --force
- dotnet test -c Release --nologo --no-restore
deploy common:
stage: deploy
dependencies:
- main test all
- main build common
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
changes:
- AMWD.Common/**
script:
- dotnet nuget push -k $BAGET_APIKEY -s https://nuget.am-wd.de/v3/index.json --skip-duplicate artifacts/AMWD.Common.*.nupkg
deploy aspnet:
stage: deploy
dependencies:
- main test all
- main build aspnet
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
changes:
- AMWD.Common.AspNetCore/**
script:
- dotnet nuget push -k $BAGET_APIKEY -s https://nuget.am-wd.de/v3/index.json --skip-duplicate artifacts/AMWD.Common.AspNetCore.*.nupkg
deploy entityframework:
stage: deploy
dependencies:
- main test all
- main build entityframework
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
changes:
- AMWD.Common.EntityFrameworkCore/**
script:
- dotnet nuget push -k $BAGET_APIKEY -s https://nuget.am-wd.de/v3/index.json --skip-duplicate artifacts/AMWD.Common.EntityFrameworkCore.*.nupkg
deploy-main-test:
stage: deploy
dependencies:
- main test all
- main build test
tags:
- docker
- lnx
- amd64
only:
refs:
- tags
changes:
- AMWD.Common.Test/**
script:
- dotnet nuget push -k $BAGET_APIKEY -s https://nuget.am-wd.de/v3/index.json --skip-duplicate artifacts/AMWD.Common.Test.*.nupkg