Added Jenkinsfile

This commit is contained in:
Joseph Henry
2017-08-11 14:45:38 -07:00
parent 6f7e59996b
commit fda85e12dd

396
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,396 @@
#!/usr/bin/env groovy
def changelog = getChangeLog currentBuild
slackSend "Building ${env.JOB_NAME} #${env.BUILD_NUMBER} \n Change Log: \n ${changelog}"
parallel 'centos7': {
node('centos7') {
// ------------------------------------------------------------------------------
// ---------------------------- static library (Linux) --------------------------
// ------------------------------------------------------------------------------
// NO_STACK
try {
checkout scm
stage('linux static lib, no stack') {
sh 'make static_lib NO_STACK=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib, no stack, ipv4') {
sh 'make static_lib NO_STACK=1 LIBZT_IPV4=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib, no stack, ipv6') {
sh 'make static_lib NO_STACK=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib, no stack, ipv4, ipv6') {
sh 'make static_lib NO_STACK=1 LIBZT_IPV4=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
// picoTCP
try {
checkout scm
stage('linux static lib, picoTCP') {
sh 'make static_lib STACK_PICO=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib, picoTCP, ipv4') {
sh 'make static_lib STACK_PICO=1 LIBZT_IPV4=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib, picoTCP, ipv6') {
sh 'make static_lib STACK_PICO=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib, picoTCP, ipv4, ipv6') {
sh 'make static_lib STACK_PICO=1 LIBZT_IPV4=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
// lwIP
try {
checkout scm
stage('linux static lib lwIP') {
sh 'make static_lib STACK_LWIP=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib lwIP, ipv4') {
sh 'make static_lib STACK_LWIP=1 LIBZT_IPV4=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib lwIP, ipv6') {
sh 'make static_lib STACK_LWIP=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('linux static lib lwIP, ipv4, ipv6') {
sh 'make static_lib STACK_LWIP=1 LIBZT_IPV4=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
// ------------------------------------------------------------------------------
// ------------------------------ Unit tests (linux) ----------------------------
// ------------------------------------------------------------------------------
try {
checkout scm
stage('linux unit tests') {
sh 'make tests'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on linux (<${env.BUILD_URL}|Open>)"
throw err
}
}
}, 'macOS': {
node('macOS') {
unlockKeychainMac "~/Library/Keychains/login.keychain-db"
// ------------------------------------------------------------------------------
// -------------------------- Intercept Library (macOS) -------------------------
// ------------------------------------------------------------------------------
// TODO
// ------------------------------------------------------------------------------
// ---------------------------- App Frameworks (macOS) --------------------------
// ------------------------------------------------------------------------------
// TODO
// ------------------------------------------------------------------------------
// ----------------------------- static library (macOS) -------------------------
// ------------------------------------------------------------------------------
// NO_STACK
try {
checkout scm
stage('macOS static lib, no stack') {
sh 'make static_lib NO_STACK=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, no stack, ipv4') {
sh 'make static_lib NO_STACK=1 LIBZT_IPV4=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, no stack, ipv6') {
sh 'make static_lib NO_STACK=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, no stack, ipv4, ipv6') {
sh 'make static_lib NO_STACK=1 LIBZT_IPV4=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
// picoTCP
try {
checkout scm
stage('macOS static lib, picoTCP') {
sh 'make static_lib STACK_PICO=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, picoTCP, ipv4') {
sh 'make static_lib STACK_PICO=1 LIBZT_IPV4=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, picoTCP, ipv6') {
sh 'make static_lib STACK_PICO=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, picoTCP, ipv4, ipv6') {
sh 'make static_lib STACK_PICO=1 LIBZT_IPV4=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
// lwIP
try {
checkout scm
stage('macOS static lib, lwIP') {
sh 'make static_lib STACK_LWIP=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, lwIP, ipv4') {
sh 'make static_lib STACK_LWIP=1 LIBZT_IPV4=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, lwIP, ipv6') {
sh 'make static_lib STACK_LWIP=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('macOS static lib, lwIP, ipv4, ipv6') {
sh 'make static_lib STACK_LWIP=1 LIBZT_IPV4=1 LIBZT_IPV6=1'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
// ------------------------------------------------------------------------------
// ------------------------------ Unit tests (macOS) ----------------------------
// ------------------------------------------------------------------------------
try {
checkout scm
stage('macOS unit tests') {
sh 'make tests'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
}
}
slackSend color: "#00ff00", message: "${env.JOB_NAME} #${env.BUILD_NUMBER} Complete (<${env.BUILD_URL}|Show More...>)"