-
Klaus Fischer authoredKlaus Fischer authored
.gitlab-ci.yml 1.82 KiB
include:
- project: 'fit-connect/pipeline'
ref: main
file: 'reuse.gitlab-ci.yml'
stages:
- lint
- test
- build
- nuget-pack
reuse:
extends: .reuse
variables:
DOCKER_REGISTRY_READ: $DOCKER_PULL_REGISTRY
build:
stage: build
image: mcr.microsoft.com/dotnet/sdk:6.0
script:
- cp $CREDENTIALS ./Tests/MockContainer/credentials.json
- dotnet build FitConnect
nuget-pack:
only:
- tags
stage: nuget-pack
image: mcr.microsoft.com/dotnet/sdk:6.0
artifacts:
paths:
- ./artifacts
expire_in: 30 days
script:
- cp $CREDENTIALS ./Tests/MockContainer/credentials.json
- GIT_COMMIT_ID=$CI_COMMIT_SHORT_SHA
- sed -i -e "s|<PackageVersion>.*</PackageVersion>|<PackageVersion>$CI_COMMIT_TAG</PackageVersion>|" FitConnect/FitConnect.csproj
- FILE_VERSION=$(echo "$CI_COMMIT_TAG" | sed 's/\-.*//')
- sed -i -e "s|<AssemblyVersion>.*</AssemblyVersion>|<AssemblyVersion>$FILE_VERSION</AssemblyVersion>|" FitConnect/FitConnect.csproj
- sed -i -e "s|<FileVersion>.*</FileVersion>|<FileVersion>$FILE_VERSION</FileVersion>|" FitConnect/FitConnect.csproj
- sed -i -e "s|public const string PackageVersion = \".*\";|public const string PackageVersion = \"$CI_COMMIT_TAG\";|" FitConnect/ProjectSpecification.cs
- sed -i -e "s|public const string CommitId = \".*\";|public const string CommitId = \"$CI_COMMIT_SHORT_SHA\";|" FitConnect/ProjectSpecification.cs
- dotnet pack FitConnect -c Release -o ./artifacts
- dotnet nuget push ./artifacts/FitConnect.$CI_COMMIT_TAG.nupkg --api-key $NUGET_API_KEY -s https://api.nuget.org/v3/index.json
test:
stage: test
image: mcr.microsoft.com/dotnet/sdk:6.0
script:
- cp $CREDENTIALS ./Tests/MockContainer/credentials.json
- dotnet test Tests/E2ETest
- dotnet test Tests/IntegrationTests
- dotnet test Tests/BasicUnitTest