You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.7 KiB
51 lines
1.7 KiB
node("Diligence") { |
|
def repoName = "StabilityMatrix" |
|
def author = "ionite34" |
|
def version = "" |
|
|
|
stage('Clean') { |
|
deleteDir() |
|
} |
|
|
|
stage('Checkout') { |
|
git branch: env.BRANCH_NAME, credentialsId: 'Ionite', url: "https://github.com/${author}/${repoName}.git" |
|
} |
|
|
|
try { |
|
stage('Test') { |
|
sh "dotnet test StabilityMatrix.Tests" |
|
} |
|
|
|
if (env.BRANCH_NAME == 'main') { |
|
|
|
stage('Set Version') { |
|
script { |
|
if (env.TAG_NAME) { |
|
version = env.TAG_NAME.replaceFirst(/^v/, '') |
|
} else { |
|
version = VersionNumber projectStartDate: '2023-06-21', versionNumberString: '${BUILDS_ALL_TIME}', worstResultForIncrement: 'SUCCESS' |
|
} |
|
} |
|
} |
|
|
|
stage('Publish Windows') { |
|
sh "dotnet publish ./StabilityMatrix.Avalonia/StabilityMatrix.Avalonia.csproj -c Release -o out -r win-x64 -p:PublishSingleFile=true -p:VersionPrefix=2.0.0 -p:VersionSuffix=${version} -p:IncludeNativeLibrariesForSelfExtract=true" |
|
} |
|
|
|
stage('Publish Linux') { |
|
sh "/home/jenkins/.dotnet/tools/pupnet --runtime linux-x64 --kind appimage --app-version ${version} --clean -y" |
|
} |
|
|
|
stage ('Archive Artifacts') { |
|
archiveArtifacts artifacts: 'out/*.exe', followSymlinks: false |
|
archiveArtifacts artifacts: 'Release/linux-x64/*.appimage', followSymlinks: false |
|
} |
|
} |
|
} finally { |
|
stage('Cleanup') { |
|
cleanWs() |
|
} |
|
} |
|
|
|
|
|
}
|
|
|