trigger: - master - release/* pool: Tests variables: ArtifactsDirectory: $(Pipeline.Workspace)/artifacts ArtifactsFileName: $(Pipeline.Workspace)/artifacts/EndToEndTests/TestResults.trx DB_SERVER: db DB_USERNAME: sa DB_PASSWORD: SA!password DB_PORT: 1433 DB_BACKUP_PATH: /var/opt/mssql/backup/DatabaseBackup.bak resources: containers: - container: db image: centron.azurecr.io/centron_db/regression_tests:latest endpoint: centronACR env: MSSQL_SA_PASSWORD: $(DB_PASSWORD) ACCEPT_EULA: Y MSSQL_PID: Standard DB_TRUST_SERVER_CERTIFICATE: true DB_ENCRYPT: no options: --name $(DB_SERVER) ports: - $(DB_PORT):$(DB_PORT) services: db: db workspace: clean: all steps: - checkout: self clean: true fetchDepth: 1 fetchTags: false # Step: Install .NET SDK (version from global.json) - task: UseDotNet@2 displayName: 'Install .NET SDK' inputs: packageType: 'sdk' useGlobalJson: true workingDirectory: '$(Build.SourcesDirectory)' - script: >- dotnet build "./tests/Centron.Tests.EndToEnd/Centron.Tests.EndToEnd.csproj" -c Release -f net10.0 -nodeReuse:false displayName: Build Regression Tests - script: >- dotnet test "./tests/Centron.Tests.EndToEnd/Centron.Tests.EndToEnd.csproj" -c Release -f net10.0 --no-build --logger "trx;LogFileName=$(ArtifactsFileName)" --results-directory "$(ArtifactsDirectory)" -nodeReuse:false displayName: Run Regression Tests env: CENTRON_TESTS_DATABASE_SERVER: localhost,$(DB_PORT) CENTRON_TESTS_DATABASE_USERNAME: $(DB_USERNAME) CENTRON_TESTS_DATABASE_PASSWORD: $(DB_PASSWORD) DATABASE_BACKUP_PATH: $(DB_BACKUP_PATH) MASTER_PASSWORD_SECURE_FILE_FOLDER: $(Pipeline.Workspace) - task: PublishTestResults@2 displayName: 'Publish Test: c-entron Regression Tests' condition: always() inputs: testResultsFormat: VSTest testResultsFiles: $(ArtifactsFileName) testRunTitle: 'c-entron Regression Tests' buildConfiguration: 'Release' failTaskOnFailedTests: true - script: | echo "== Before prune =="; df -h; docker system df || true docker system prune -af echo "== After prune =="; df -h; docker system df || true displayName: Docker prune (safe) condition: always() continueOnError: true