diff --git a/jenkins/pipeline.groovy b/jenkins/pipeline.groovy index 436b32e..7b44c8f 100644 --- a/jenkins/pipeline.groovy +++ b/jenkins/pipeline.groovy @@ -13,17 +13,30 @@ def run_command(command, os) { } } -def run(os, deploy = false) { +def run(os, python_version, deploy = false) { + run_command("make clean", os) + run_command("make env PYTHON_VERSION=${python_version}", os) + run_command("make build THIRD_PARTY_DIR=${IDPS_REMOTE_EXT_COPY_DIR} PYTHON_VERSION=${python_version}", os) + run_command("make test TEST_DATA_DIR=${IDPS_REMOTE_EXT_COPY_DIR}/test_data_structured PYTHON_VERSION=${python_version}", os) +} + +def run_all(os, deploy = false) { + // The Jenkinsfile for the MacOS Development Builds pipeline. + + run_command("git config -f .gitmodules submodule.isxcore.url https://github.com/inscopix/isxcore.git") + run_command("git config -f .git/config submodule.isxcore.url https://github.com/inscopix/isxcore.git") + run_command("git submodule sync") + run_command("git submodule update --init --remote") + stage("Setup") { run_command("make setup REMOTE_DIR=${IDPS_REMOTE_EXT_DIR} REMOTE_LOCAL_DIR=${IDPS_REMOTE_EXT_COPY_DIR}", os) } - - stage("Build") { - run_command("make build THIRD_PARTY_DIR=${IDPS_REMOTE_EXT_COPY_DIR}", os) - } - stage("Test") { - run_command("make test TEST_DATA_DIR=${IDPS_REMOTE_EXT_COPY_DIR}/test_data_structured", os) + python_versions = ["3.9", "3.10", "3.11", "3.12"] + python_versions.each() { + stage("Python ${it}") { + run(os, it, deploy) + } } }