Skip to content

Commit

Permalink
wip: add jenkins steps
Browse files Browse the repository at this point in the history
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>
  • Loading branch information
hacdias committed Sep 30, 2018
1 parent 2ac6480 commit 07bd5e3
Showing 1 changed file with 41 additions and 33 deletions.
74 changes: 41 additions & 33 deletions ci/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,58 +4,66 @@ import groovy.transform.Field

// Step for running tests on a specific nodejs version with windows
def windowsStep () {
node(label: 'windows') {
ansiColor('xterm') {
def ciContext = 'continuous-integration/jenkins/windows'
githubNotify description: 'Build in progress', status: 'PENDING', context: ciContext
bat 'git config --global core.autocrlf input'
checkout scm
fileExists 'package.json'
nodejs(nodeVersion) {
try {
node(label: 'windows') { ansiColor('xterm') { withEnv(['CI=true']) { ws("${env.JOB_NAME}/windows") {
def ciContext = 'continuous-integration/jenkins/windows'
githubNotify description: 'Build in progress', status: 'PENDING', context: ciContext
bat 'git config --global core.autocrlf input'
checkout scm
fileExists 'package.json'
nodejs(nodeVersion) {
try {
stage('win:cleanup') {
bat 'del /s /q node_modules >nul 2>&1'
bat 'npx yarn@1.9.4 config set msvs_version 2015 --global'
}
stage('win:lint') {
bat 'npm run lint'
}
stage('win:build') {
bat 'npm run build'
archiveArtifacts 'dist\\*'
githubNotify description: 'Build looks good', status: 'SUCCESS', context: ciContext
} catch (err) {
echo "Caught: ${err}"
currentBuild.result = 'FAILURE'
githubNotify description: 'Build failed', status: 'FAILURE', context: ciContext
} finally {
cleanWs()
}
githubNotify description: 'Build looks good', status: 'SUCCESS', context: ciContext
} catch (err) {
echo "Caught: ${err}"
currentBuild.result = 'FAILURE'
githubNotify description: 'Build failed', status: 'FAILURE', context: ciContext
} finally {
cleanWs()
}
}
}
}}}}
}

// Step for running tests on a specific nodejs version with unix compatible OS
def unixStep(nodeLabel) {
node(label: nodeLabel) {
ansiColor('xterm') {
def ciContext = 'continuous-integration/jenkins/' + nodeLabel
githubNotify description: 'Build in progress', status: 'PENDING', context: ciContext
checkout scm
fileExists 'package.json'
nodejs(nodeVersion) {
try {
node(label: nodeLabel) { ansiColor('xterm') { withEnv(['CI=true']) { ws("${env.JOB_NAME}/${nodeLabel}") {
def ciContext = "continuous-integration/jenkins/${nodeLabel}"
githubNotify description: 'Build in progress', status: 'PENDING', context: ciContext
checkout scm
fileExists 'package.json'
nodejs(nodeVersion) {
try {
stage("${nodeLabel}:cleanup") {
sh 'rm -rf node_modules/'
}
stage("${nodeLabel}:lint") {
sh 'npm run lint'
}
stage("${nodeLabel}:build") {
sh 'npm run build'
archiveArtifacts 'dist/*'
githubNotify description: 'Build looks good', status: 'SUCCESS', context: ciContext
} catch (err) {
echo "Caught: ${err}"
currentBuild.result = 'FAILURE'
githubNotify description: 'Build failed', status: 'FAILURE', context: ciContext
} finally {
cleanWs()
}
githubNotify description: 'Build looks good', status: 'SUCCESS', context: ciContext
} catch (err) {
echo "Caught: ${err}"
currentBuild.result = 'FAILURE'
githubNotify description: 'Build failed', status: 'FAILURE', context: ciContext
} finally {
cleanWs()
}
}
}
}}}}
}

parallel (
Expand Down

0 comments on commit 07bd5e3

Please sign in to comment.