hrms-api-exam/.onedev-buildspec.yml

139 lines
4 KiB
YAML
Raw Normal View History

2025-02-05 07:36:24 +00:00
version: 38
2024-12-12 08:40:31 +00:00
jobs:
- name: CI for UAT
steps:
- !CheckoutStep
name: checkout code
cloneCredential: !DefaultCredential {}
withLfs: false
withSubmodules: false
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !GenerateChecksumStep
2024-12-18 06:57:47 +00:00
name: generate project checksum
files: '**/*.csproj'
2024-12-12 08:40:31 +00:00
targetFile: checksum
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !SetupCacheStep
2024-12-18 06:57:47 +00:00
name: set up nuget cache
key: nuget_packages_@file:checksum@
2024-12-12 08:40:31 +00:00
loadKeys:
2024-12-18 06:57:47 +00:00
- nuget_packages
2024-12-12 08:40:31 +00:00
paths:
2024-12-18 06:57:47 +00:00
- /root/.nuget/packages
2024-12-12 08:40:31 +00:00
uploadStrategy: UPLOAD_IF_NOT_HIT
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !CommandStep
2024-12-18 06:57:47 +00:00
name: test and analyze
2024-12-12 08:40:31 +00:00
runInContainer: true
2024-12-18 06:57:47 +00:00
image: mcr.microsoft.com/dotnet/sdk
2024-12-12 08:40:31 +00:00
interpreter: !DefaultInterpreter
commands: |
2024-12-18 06:57:47 +00:00
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
2024-12-12 08:40:31 +00:00
useTTY: true
2024-12-18 06:57:47 +00:00
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
2024-12-12 08:40:31 +00:00
- !SetBuildVersionStep
name: set build version
buildVersion: '@tag@'
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !BuildImageStep
name: build docker image
2024-12-18 06:57:47 +00:00
dockerfile: ./Dockerfile
2024-12-12 08:40:31 +00:00
output: !RegistryOutput
2025-02-05 07:36:24 +00:00
tags: '@server@/bma-hrms/hrms-api-exam:@build_version@ @server@/bma-hrms/hrms-api-exam:latest'
2024-12-12 08:40:31 +00:00
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
triggers:
- !TagCreateTrigger
2024-12-18 06:57:47 +00:00
tags: uat-*
2024-12-12 08:40:31 +00:00
branches: main
retryCondition: never
maxRetries: 3
retryDelay: 30
timeout: 14400
2024-12-18 08:40:29 +00:00
- name: CI for PROD
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
dockerfile: ./Dockerfile
output: !RegistryOutput
2025-02-05 07:36:24 +00:00
tags: '@server@/bma-hrms/hrms-api-exam:@build_version@ @server@/bma-hrms/hrms-api-exam:latest'
2024-12-18 08:40:29 +00:00
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
triggers:
- !TagCreateTrigger
2024-12-18 08:44:06 +00:00
tags: prod-*
2024-12-18 08:40:29 +00:00
branches: main
retryCondition: never
maxRetries: 3
retryDelay: 30
timeout: 14400