Удалён 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