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
test_results.csv
_build*
**/.venv/**
# waf build files
.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 {
agent {
label 'x86&&macOS&&Apps'
label 'x86_64&&brew&&macOS'
}
environment {
VIEW = '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 {
skipDefaultCheckout()
@@ -13,7 +54,7 @@ pipeline {
stages {
stage('Get view') {
steps {
prepareAppsSandbox("${VIEW}", "${REPO}")
xcorePrepareSandbox("${VIEW}", "${REPO}")
}
}
stage('Library checks') {
@@ -28,14 +69,8 @@ pipeline {
}
stage('Host builds') {
steps {
dir("${REPO}") {
dir("${REPO}") {
dir('host') {
dir('xmosdfu') {
sh 'make -f Makefile.OSX64'
}
}
}
dir("${REPO}/${REPO}/host/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'