Update Jenkins Pipeline to use new agents

This commit is contained in:
Sam Chesney
2019-08-20 13:03:45 +01:00
parent c0c4117b8e
commit 9cb697f5de
5 changed files with 64 additions and 12 deletions

1
.gitignore vendored
View File

@@ -19,6 +19,7 @@
.DS_Store .DS_Store
test_results.csv test_results.csv
_build* _build*
**/.venv/**
# waf build files # waf build files
.lock-waf_* .lock-waf_*

7
Brewfile Normal file
View File

@@ -0,0 +1,7 @@
tap 'homebrew/core'
brew 'perl'
brew 'cpanm'
brew 'python@2'
brew 'pipenv'

59
Jenkinsfile vendored
View File

@@ -1,11 +1,52 @@
@Library('xmos_jenkins_shared_library@master') _ @Library('xmos_jenkins_shared_library@develop') _
getApproval()
pipeline { pipeline {
agent { agent {
label 'x86&&macOS&&Apps' label 'x86_64&&brew&&macOS'
} }
environment { environment {
VIEW = 'xua'
REPO = 'lib_xua' REPO = 'lib_xua'
VIEW = "${env.JOB_NAME.contains('PR-') ? REPO+'_'+env.CHANGE_TARGET : REPO+'_'+env.BRANCH_NAME}"
}
triggers {
/* Trigger this Pipeline on changes to the repos dependencies
*
* If this Pipeline is running in a pull request, the triggers are set
* on the base branch the PR is set to merge in to.
*
* Otherwise the triggers are set on the branch of a matching name to the
* one this Pipeline is on.
*/
upstream(
upstreamProjects:
(env.JOB_NAME.contains('PR-') ?
"../lib_device_control/${env.CHANGE_TARGET}," +
"../lib_dsp/${env.CHANGE_TARGET}," +
"../lib_i2c/${env.CHANGE_TARGET}," +
"../lib_logging/${env.CHANGE_TARGET}," +
"../lib_mic_array/${env.CHANGE_TARGET}," +
"../lib_spdif/${env.CHANGE_TARGET}," +
"../lib_xassert/${env.CHANGE_TARGET}," +
"../lib_xud/${env.CHANGE_TARGET}," +
"../tools_released/${env.CHANGE_TARGET}," +
"../tools_xmostest/${env.CHANGE_TARGET}," +
"../xdoc_released/${env.CHANGE_TARGET}"
:
"../lib_device_control/${env.BRANCH_NAME}," +
"../lib_dsp/${env.BRANCH_NAME}," +
"../lib_i2c/${env.BRANCH_NAME}," +
"../lib_logging/${env.BRANCH_NAME}," +
"../lib_mic_array/${env.BRANCH_NAME}," +
"../lib_spdif/${env.BRANCH_NAME}," +
"../lib_xassert/${env.BRANCH_NAME}," +
"../lib_xud/${env.BRANCH_NAME}," +
"../tools_released/${env.BRANCH_NAME}," +
"../tools_xmostest/${env.BRANCH_NAME}," +
"../xdoc_released/${env.BRANCH_NAME}"),
threshold: hudson.model.Result.SUCCESS
)
} }
options { options {
skipDefaultCheckout() skipDefaultCheckout()
@@ -13,7 +54,7 @@ pipeline {
stages { stages {
stage('Get view') { stage('Get view') {
steps { steps {
prepareAppsSandbox("${VIEW}", "${REPO}") xcorePrepareSandbox("${VIEW}", "${REPO}")
} }
} }
stage('Library checks') { stage('Library checks') {
@@ -28,14 +69,8 @@ pipeline {
} }
stage('Host builds') { stage('Host builds') {
steps { steps {
dir("${REPO}") { dir("${REPO}/${REPO}/host/xmosdfu") {
dir("${REPO}") { sh 'make -f Makefile.OSX64'
dir('host') {
dir('xmosdfu') {
sh 'make -f Makefile.OSX64'
}
}
}
} }
} }
} }

7
Pipfile Normal file
View File

@@ -0,0 +1,7 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
flake8 = "*"

2
cpanfile Normal file
View File

@@ -0,0 +1,2 @@
requires 'File::Copy::Recursive';
requires 'LWP::Simple'