55 lines
2.5 KiB
Groovy
55 lines
2.5 KiB
Groovy
pipeline {
|
|
agent any
|
|
stages {
|
|
stage("cleanup") {
|
|
steps {
|
|
pwsh '''
|
|
rm **/bin/Release
|
|
rm output/**
|
|
'''
|
|
}
|
|
}
|
|
stage("Props.Shop") {
|
|
stages {
|
|
stage("Restore") {
|
|
steps {
|
|
dotnetRestore project: "Props.Shop/Props.Shop.sln"
|
|
dotnetRestore project: "Props.Shop/Props.Shop.Tests.sln"
|
|
}
|
|
}
|
|
stage("Test") {
|
|
steps {
|
|
dotnetTest logger: 'xunit', noRestore: true, project: 'Props.Shop/Props.Shop.Tests.sln', unstableIfErrors: true, unstableIfWarnings: true
|
|
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Shop/*.Tests/TestResults/*.xml', stopProcessingIfError: true)])
|
|
}
|
|
}
|
|
stage("Publish") {
|
|
steps {
|
|
dotnetPublish configuration: 'Release', outputDirectory: 'output/shop-modules', noRestore: true, project: 'Props.Shop/Props.Shop.sln', selfContained: false, unstableIfWarnings: true
|
|
fingerprint 'output/shop-modules/**/Props.Shop.*'
|
|
sh "python3 scripts/load_shop_modules.py"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage("Props") {
|
|
stages {
|
|
stage("Test") {
|
|
steps {
|
|
dotnetTest logger: 'xunit', project: 'Props.Tests', unstableIfErrors: true, unstableIfWarnings: true
|
|
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Tests/TestResults/*.xml', stopProcessingIfError: true)])
|
|
}
|
|
}
|
|
stage("Publish") {
|
|
steps {
|
|
dotnetPublish configuration: 'Release', outputDirectory: 'output/props/props-linux-x64', project: 'Props', runtime: 'linux-x64', selfContained: true
|
|
dotnetPublish configuration: 'Release', outputDirectory: 'output/props/props-win-x64', project: 'Props', runtime: 'win-x64', selfContained: true
|
|
fingerprint 'output/props/**/Props*'
|
|
tar file: "output/props-linux-x64.tar.gz", archive: true, compress: true, dir: "output/props/props-linux-x64"
|
|
zip zipFile: "output/props-win-x64.zip", archive: true, dir: "output/props/props-win-x64"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |