Jenkins: macOS ARM64 CI job (#3128)
This commit is contained in:
parent
6f10e651ff
commit
70579f2fb1
|
@ -9,7 +9,9 @@ if (env.BRANCH_NAME != "stable" && env.BRANCH_NAME != "testing" && env.BRANCH_NA
|
||||||
milestone(buildNumber)
|
milestone(buildNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
def runStages() {
|
def runStages(nodeDir) {
|
||||||
|
sh "mkdir -p ${nodeDir}"
|
||||||
|
dir(nodeDir) {
|
||||||
try {
|
try {
|
||||||
stage("Clone") {
|
stage("Clone") {
|
||||||
/* source code checkout */
|
/* source code checkout */
|
||||||
|
@ -19,8 +21,8 @@ def runStages() {
|
||||||
}
|
}
|
||||||
|
|
||||||
cache(maxCacheSize: 250, caches: [
|
cache(maxCacheSize: 250, caches: [
|
||||||
[$class: "ArbitraryFileCache", excludes: "", includes: "**/*", path: "${WORKSPACE}/vendor/nimbus-build-system/vendor/Nim/bin"],
|
[$class: "ArbitraryFileCache", excludes: "", includes: "**/*", path: "${WORKSPACE}/${nodeDir}/vendor/nimbus-build-system/vendor/Nim/bin"],
|
||||||
[$class: "ArbitraryFileCache", excludes: "", includes: "**/*", path: "${WORKSPACE}/jsonTestsCache"]
|
[$class: "ArbitraryFileCache", excludes: "", includes: "**/*", path: "${WORKSPACE}/${nodeDir}/jsonTestsCache"]
|
||||||
]) {
|
]) {
|
||||||
stage("Build") {
|
stage("Build") {
|
||||||
sh """#!/bin/bash
|
sh """#!/bin/bash
|
||||||
|
@ -89,6 +91,7 @@ def runStages() {
|
||||||
// clean the workspace
|
// clean the workspace
|
||||||
cleanWs(disableDeferredWipeout: true, deleteDirs: true)
|
cleanWs(disableDeferredWipeout: true, deleteDirs: true)
|
||||||
}
|
}
|
||||||
|
} // dir(...)
|
||||||
}
|
}
|
||||||
|
|
||||||
parallel(
|
parallel(
|
||||||
|
@ -97,18 +100,29 @@ parallel(
|
||||||
timeout(time: 4, unit: 'HOURS') {
|
timeout(time: 4, unit: 'HOURS') {
|
||||||
node("linux") {
|
node("linux") {
|
||||||
withEnv(["NPROC=${sh(returnStdout: true, script: 'nproc').trim()}"]) {
|
withEnv(["NPROC=${sh(returnStdout: true, script: 'nproc').trim()}"]) {
|
||||||
runStages()
|
runStages("linux")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"macOS": {
|
"macOS (AMD64)": {
|
||||||
throttle(['nimbus-eth2']) {
|
throttle(['nimbus-eth2']) {
|
||||||
timeout(time: 4, unit: 'HOURS') {
|
timeout(time: 4, unit: 'HOURS') {
|
||||||
node("macos && x86_64") {
|
node("macos && x86_64") {
|
||||||
withEnv(["NPROC=${sh(returnStdout: true, script: 'sysctl -n hw.logicalcpu').trim()}"]) {
|
withEnv(["NPROC=${sh(returnStdout: true, script: 'sysctl -n hw.logicalcpu').trim()}"]) {
|
||||||
runStages()
|
runStages("macos_amd64")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"macOS (ARM64)": {
|
||||||
|
throttle(['nimbus-eth2']) {
|
||||||
|
timeout(time: 4, unit: 'HOURS') {
|
||||||
|
node("macos && arm64") {
|
||||||
|
withEnv(["NPROC=${sh(returnStdout: true, script: 'sysctl -n hw.logicalcpu').trim()}"]) {
|
||||||
|
runStages("macos_arm64")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue