version: 37 jobs: - name: CI for UAT steps: - !CheckoutStep name: checkout code cloneCredential: !DefaultCredential {} withLfs: false withSubmodules: false condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - !GenerateChecksumStep name: generate project checksum files: '**/*.csproj' targetFile: checksum condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - !SetupCacheStep name: set up nuget cache key: nuget_packages_@file:checksum@ loadKeys: - nuget_packages paths: - /root/.nuget/packages uploadStrategy: UPLOAD_IF_NOT_HIT condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - !CommandStep name: test and analyze runInContainer: true image: mcr.microsoft.com/dotnet/sdk interpreter: !DefaultInterpreter commands: | set -e dotnet tool install -g roslynator.dotnet.cli dotnet test -l trx --collect:"XPlat Code Coverage" #/root/.dotnet/tools/roslynator analyze -o roslynator-analysis.xml useTTY: true condition: NEVER - !PublishTRXReportStep name: publish unit test report reportName: Unit Test filePatterns: '**/*.trx' condition: NEVER - !PublishCoberturaReportStep name: publish code coverage report reportName: Code Coverage filePatterns: '**/coverage.cobertura.xml' condition: NEVER - !PublishRoslynatorReportStep name: publish code problem report reportName: Code Problems filePatterns: roslynator-analysis.xml failThreshold: HIGH condition: NEVER - !SetBuildVersionStep name: set build version buildVersion: '@tag@' condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL - !BuildImageStep name: build docker image - Leave dockerfile: ./BMA.EHR.Leave/Dockerfile output: !RegistryOutput tags: hrms-git.chin.in.th/bma-hrms/hrms-api-leave:@build_version@ hrms-git.chin.in.th/bma-hrms/hrms-api-leave:latest condition: NEVER - !BuildImageStep name: build docker image - Checkin dockerfile: ./BMA.EHR.CheckInConsumer/Dockerfile output: !RegistryOutput tags: hrms-git.chin.in.th/bma-hrms/hrms-api-checkin:@build_version@ hrms-git.chin.in.th/bma-hrms/hrms-api-checkin:latest condition: NEVER - !BuildImageStep name: build docker image - Insignia dockerfile: ./BMA.EHR.Insignia/Dockerfile output: !RegistryOutput tags: hrms-git.chin.in.th/bma-hrms/hrms-api-insignia:@build_version@ hrms-git.chin.in.th/bma-hrms/hrms-api-insignia:latest condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL triggers: - !TagCreateTrigger tags: uat-* branches: main retryCondition: never maxRetries: 3 retryDelay: 30 timeout: 14400