Newer
Older
include:
- project: 'fit-connect/pipeline'
ref: main
file: 'reuse.gitlab-ci.yml'
stages:
- lint
reuse:
extends: .reuse
variables:
DOCKER_REGISTRY_READ: $DOCKER_PULL_REGISTRY
stage: build
image: mcr.microsoft.com/dotnet/sdk:6.0
script:
- cp $CREDENTIALS ./Tests/MockContainer/credentials.json
- dotnet build FitConnect
- cp $CREDENTIALS ./Tests/MockContainer/credentials.json
- 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
stage: test
image: mcr.microsoft.com/dotnet/sdk:6.0
- cp $CREDENTIALS ./Tests/MockContainer/credentials.json
- dotnet test Tests/E2ETest
- dotnet test Tests/IntegrationTests
- dotnet test Tests/BasicUnitTest