Удалён Jenkins pipeline.
This commit is contained in:
parent
506ce529ac
commit
950aecc036
226
build/ci/Jenkinsfile
vendored
226
build/ci/Jenkinsfile
vendored
@ -1,226 +0,0 @@
|
||||
// MouseSoft Draw.io Export jenkins declarative pipeline
|
||||
|
||||
pipeline {
|
||||
agent { label 'go' }
|
||||
options {
|
||||
ansiColor('css')
|
||||
timestamps()
|
||||
buildDiscarder(logRotator(numToKeepStr: '10'))
|
||||
skipDefaultCheckout()
|
||||
timeout(time: 8, unit: 'MINUTES', activity: true)
|
||||
}
|
||||
environment {
|
||||
PROJECT_OWNER = 'ms'
|
||||
PROJECT_ID = 'drawio-export'
|
||||
PROJECT_NAME = 'MouseSoft Draw.IO Export'
|
||||
ROCKET_TITLE = "${currentBuild.fullDisplayName} (<${env.BUILD_URL}|Open>)"
|
||||
RELEASE_ID = 0
|
||||
}
|
||||
stages {
|
||||
stage('Build') {
|
||||
parallel {
|
||||
stage('Build Linux') {
|
||||
steps {
|
||||
echo "***** BUILD ${PROJECT_NAME} on Linux *****"
|
||||
msSendRocketChat("${ROCKET_TITLE}", msBuildInfo(currentBuild), 'black')
|
||||
cleanWs(disableDeferredWipeout: true, deleteDirs: true)
|
||||
checkout scm
|
||||
sh '''#!/bin/bash
|
||||
make clean vendor lint build dist doc
|
||||
'''
|
||||
}
|
||||
}
|
||||
stage('Build Windows') {
|
||||
agent{ label 'windows' }
|
||||
environment {
|
||||
GO_OPT = ' '
|
||||
CGO_ENABLED = 0
|
||||
}
|
||||
steps {
|
||||
echo "***** BUILD ${PROJECT_NAME} on Windows *****"
|
||||
cleanWs(disableDeferredWipeout: true, deleteDirs: true)
|
||||
catchError(buildResult: 'UNSTABLE', stageResult: 'FAILURE') {
|
||||
checkout scm
|
||||
bat 'make clean vendor build dist'
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
script {
|
||||
if (getContext(hudson.FilePath)) {
|
||||
archiveArtifacts (
|
||||
artifacts: 'out/*.zip,out/*.msi',
|
||||
allowEmptyArchive: true,
|
||||
fingerprint: true,
|
||||
onlyIfSuccessful: true,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Test') {
|
||||
environment {
|
||||
EXPORT_RESULT = true
|
||||
COVERAGE_FORMAT = 'xml'
|
||||
}
|
||||
steps {
|
||||
echo "===== TEST ${PROJECT_NAME} ====="
|
||||
sh '''#!/bin/bash
|
||||
make test coverage
|
||||
'''
|
||||
}
|
||||
}
|
||||
stage('Doc') {
|
||||
when { anyOf {
|
||||
branch 'main'
|
||||
branch 'develop'
|
||||
branch 'release/*'
|
||||
branch 'support/*'
|
||||
tag 'v*'
|
||||
} }
|
||||
environment {
|
||||
DOC_FORMAT = 'pdf'
|
||||
}
|
||||
steps {
|
||||
echo "===== MAKE ${PROJECT_NAME} Documentation ====="
|
||||
sh '''#!/bin/bash
|
||||
make doc
|
||||
'''
|
||||
}
|
||||
}
|
||||
stage('Draft Release') {
|
||||
when { tag 'v*' }
|
||||
steps {
|
||||
script {
|
||||
def version = "${TAG_NAME}".substring(1)
|
||||
RELEASE_ID = msCreateRelease(
|
||||
"${PROJECT_OWNER}",
|
||||
"${PROJECT_ID}",
|
||||
"${TAG_NAME}",
|
||||
"${PROJECT_NAME}",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Release') {
|
||||
parallel {
|
||||
stage('Release Linux') {
|
||||
when { tag 'v*' }
|
||||
environment {
|
||||
OUTDIR = 'dist'
|
||||
DIST_TAG = 'empty'
|
||||
GO_LDFLAGS = '-w'
|
||||
GO_OPT = ' '
|
||||
}
|
||||
steps {
|
||||
echo "***** RELEASE ${PROJECT_NAME} for Linux *****"
|
||||
sh '''#!/bin/bash
|
||||
make build package
|
||||
find -O1 dist/ -name '*.changes' -exec dput mousesoft \\{\\} \\;
|
||||
'''
|
||||
script {
|
||||
msUploadFilesToRelease(
|
||||
"${PROJECT_OWNER}",
|
||||
"${PROJECT_ID}",
|
||||
RELEASE_ID,
|
||||
['dist/*.deb'],
|
||||
)
|
||||
if( currentBuild.currentResult == 'SUCCESS' ) {
|
||||
currentBuild.keepLog = true
|
||||
}
|
||||
}
|
||||
msSendRocketChat("${ROCKET_TITLE}", "Released assets for Linux", 'blue')
|
||||
}
|
||||
}
|
||||
stage('Release Windows') {
|
||||
agent{ label 'windows' }
|
||||
when { tag 'v*' }
|
||||
environment {
|
||||
OUTDIR = 'dist'
|
||||
DIST_TAG = 'empty'
|
||||
GO_LDFLAGS = '-w'
|
||||
GO_OPT = ' '
|
||||
}
|
||||
steps {
|
||||
echo "***** RELEASE ${PROJECT_NAME} for Windows *****"
|
||||
bat 'make build package'
|
||||
script {
|
||||
msUploadFilesToRelease(
|
||||
"${PROJECT_OWNER}",
|
||||
"${PROJECT_ID}",
|
||||
RELEASE_ID,
|
||||
['dist/*.msi'],
|
||||
)
|
||||
if( currentBuild.currentResult == 'SUCCESS' ) {
|
||||
currentBuild.keepLog = true
|
||||
}
|
||||
}
|
||||
msSendRocketChat("${ROCKET_TITLE}", "Released assets for Windows", 'blue')
|
||||
}
|
||||
post {
|
||||
success {
|
||||
archiveArtifacts (
|
||||
artifacts: 'dist/*.msi',
|
||||
allowEmptyArchive: false,
|
||||
fingerprint: true,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
always {
|
||||
script {
|
||||
if (getContext(hudson.FilePath)) {
|
||||
junit (
|
||||
testResults: 'out/junit-report.xml',
|
||||
allowEmptyResults: true,
|
||||
skipPublishingChecks: true,
|
||||
)
|
||||
cobertura (
|
||||
coberturaReportFile: 'out/coverage.xml',
|
||||
failNoReports: false,
|
||||
)
|
||||
archiveArtifacts (
|
||||
artifacts: 'out/*.tar.*,out/*.zip',
|
||||
allowEmptyArchive: false,
|
||||
fingerprint: true,
|
||||
onlyIfSuccessful: true,
|
||||
)
|
||||
archiveArtifacts (
|
||||
artifacts: 'out/doc/*.pdf',
|
||||
allowEmptyArchive: true,
|
||||
fingerprint: true,
|
||||
onlyIfSuccessful: true,
|
||||
)
|
||||
if (currentBuild.result == 'SUCCESS') {
|
||||
publishHTML(target: [
|
||||
allowMissing: true,
|
||||
alwaysLinkToLastBuild: true,
|
||||
keepAll: false,
|
||||
reportDir: 'out/doc/html',
|
||||
reportFiles: 'index.html',
|
||||
reportTitles: 'Техническая документация',
|
||||
reportName: 'Documentation',
|
||||
])
|
||||
}
|
||||
}
|
||||
if( currentBuild.result != 'SUCCESS' ) {
|
||||
currentBuild.keepLog = false
|
||||
}
|
||||
def timeSec = currentBuild.duration / 1000
|
||||
msSendRocketChat(
|
||||
"${ROCKET_TITLE}",
|
||||
"Build ${currentBuild.result} after ${timeSec} sec",
|
||||
msBuildResultColor(),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user