Update Jenkinsfile and added Conda environment.

This commit is contained in:
Harrison Deng 2022-12-01 04:48:54 +00:00
parent a03d3c5218
commit 85f4d61ff0
2 changed files with 23 additions and 12 deletions

29
Jenkinsfile vendored
View File

@ -1,31 +1,31 @@
pipeline { pipeline {
agent any agent any
stages { stages {
stage("cleanup") { stage("Install") {
steps { steps {
pwsh ''' sh 'mamba env update --file environment.yml'
rm **/bin/Release sh 'echo "mamba activate props" >> ~/.bashrc'
rm output/** sh 'node --version && npm --version'
''' sh 'npm install'
} }
} }
stage("Props.Shop") { stage("Props.Shop") {
stages { stages {
stage("Restore") { stage("Restore") {
steps { steps {
dotnetRestore project: "Props.Shop/Props.Shop.sln" sh 'dotnet restore Props.Shop/Props.Shop.sln'
dotnetRestore project: "Props.Shop/Props.Shop.Tests.sln" sh 'dotnet restore Props.Shop/Props.Shop.Tests.sln'
} }
} }
stage("Test") { stage("Test") {
steps { steps {
dotnetTest logger: 'xunit', noRestore: true, project: 'Props.Shop/Props.Shop.Tests.sln', unstableIfErrors: true, unstableIfWarnings: true sh 'dotnet test --logger xunit --no-restore Props.Shop/Props.Shop.Tests.sln'
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Shop/*.Tests/TestResults/*.xml', stopProcessingIfError: true)]) xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Shop/*.Tests/TestResults/*.xml', stopProcessingIfError: true)])
} }
} }
stage("Publish") { stage("Publish") {
steps { steps {
dotnetPublish configuration: 'Release', outputDirectory: 'output/shop-modules', noRestore: true, project: 'Props.Shop/Props.Shop.sln', selfContained: false, unstableIfWarnings: true sh 'dotnet publish --configuration Release --output output/shop-modules Props.Shop/Props.Shop.sln'
fingerprint 'output/shop-modules/**/Props.Shop.*' fingerprint 'output/shop-modules/**/Props.Shop.*'
sh "python3 scripts/load_shop_modules.py" sh "python3 scripts/load_shop_modules.py"
} }
@ -34,16 +34,21 @@ pipeline {
} }
stage("Props") { stage("Props") {
stages { stages {
stage("Restore") {
steps {
sh 'dotnet restore Props.Tests'
}
}
stage("Test") { stage("Test") {
steps { steps {
dotnetTest logger: 'xunit', project: 'Props.Tests', unstableIfErrors: true, unstableIfWarnings: true sh 'dotnet test --logger xunit --no-restore Props.Tests'
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Tests/TestResults/*.xml', stopProcessingIfError: true)]) xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Tests/TestResults/*.xml', stopProcessingIfError: true)])
} }
} }
stage("Publish") { stage("Publish") {
steps { steps {
dotnetPublish configuration: 'Release', outputDirectory: 'output/props/props-linux-x64', project: 'Props', runtime: 'linux-x64', selfContained: true sh 'dotnet publish --configuration Release --output output/props/props-linux-x64 --runtime linux-x64 --self-contained Props'
dotnetPublish configuration: 'Release', outputDirectory: 'output/props/props-win-x64', project: 'Props', runtime: 'win-x64', selfContained: true sh 'dotnet publish --configuration Release --output output/props/props-win-x64 --runtime win-x64 --self-contained Props'
fingerprint 'output/props/**/Props*' fingerprint 'output/props/**/Props*'
tar file: "output/props-linux-x64.tar.gz", archive: true, compress: true, dir: "output/props/props-linux-x64" 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" zip zipFile: "output/props-win-x64.zip", archive: true, dir: "output/props/props-win-x64"

6
environment.yml Normal file
View File

@ -0,0 +1,6 @@
name: props
channels:
- javascript
dependencies:
- dotnet-sdk=6.0.*
- dotnet-runtime=6.0.*