gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit 7a014d2c45a9deabedd1d5082ce404e7c80b188f
parent 4625763e652c977f7dbc0cd71bc2dffb1cc01d72
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Mon,  5 Aug 2024 11:22:49 +0200

update jenkins build scripts

Diffstat:
Mscripts/Jenkinsfile | 69++++++++++++++++++++++++++++++++++++++++++++++-----------------------
Mscripts/JenkinsfileMulti | 21++++++++++++++++-----
2 files changed, 62 insertions(+), 28 deletions(-)

diff --git a/scripts/Jenkinsfile b/scripts/Jenkinsfile @@ -3,8 +3,6 @@ pipeline { environment { GIT_URL = credentials('dsp56300_gitUrl') - BUILD_JUCE = needsJuce() - BUILD_FX_PLUGIN = buildFxPlugins() CMAKE_BUILD_DIR = 'temp/cmake_jenkins' } parameters @@ -16,6 +14,10 @@ pipeline { booleanParam(name: 'IntegrationTests', defaultValue: true, description: '') booleanParam(name: 'Upload', defaultValue: false, description: '') string(name: 'UploadFolder', defaultValue: "", description: '') + booleanParam(name: 'SynthOsirus', defaultValue: true, description: '') + booleanParam(name: 'SynthOsTIrus', defaultValue: true, description: '') + booleanParam(name: 'SynthVavra', defaultValue: true, description: '') + booleanParam(name: 'SynthXenia', defaultValue: false, description: '') } stages { stage("Checkout") { @@ -23,6 +25,15 @@ pipeline { script { currentBuild.displayName += " - ${params.AgentLabel} - ${params.Branch}" currentBuild.description = "Integration Tests: ${params.IntegrationTests}\nDeploy: ${params.Deploy}\nUpload: ${params.Upload}" + + if(params.FXPlugins) currentBuild.displayName += " FX" + if(params.Deploy) currentBuild.displayName += " d" + if(params.IntegrationTests) currentBuild.displayName += " i" + if(params.Upload) currentBuild.displayName += " u" + if(params.SynthOsirus) currentBuild.displayName += " Sabc" + if(params.SynthOsTIrus) currentBuild.displayName += " Sti" + if(params.SynthVavra) currentBuild.displayName += " SmQ" + if(params.SynthXenia) currentBuild.displayName += " Sxt" } doCheckout() } @@ -115,12 +126,11 @@ def deleteFile(name) def needsJuce() { - //return params.Deploy || params.Upload ? 'ON' : 'OFF' - return true + return "on" } def buildFxPlugins() { - return params.FXPlugins ? 'ON' : 'OFF' + return params.FXPlugins ? 'on' : 'off' } def cmakeBuildDir() { @@ -144,27 +154,39 @@ def doCheckout() ) } +def getSynths() +{ + def synths = + "-Dgearmulator_SYNTH_OSIRUS=" + (params.SynthOsirus ? "on" : "off") + + " -Dgearmulator_SYNTH_OSTIRUS=" + (params.SynthOsTIrus ? "on" : "off") + + " -Dgearmulator_SYNTH_VAVRA=" + (params.SynthVavra ? "on" : "off") + + " -Dgearmulator_SYNTH_XENIA=" + (params.SynthXenia ? "on" : "off") + + return synths +} + def cmakeBuild() { - def buildDir = cmakeBuildDir(); + def buildDir = cmakeBuildDir() + def synths = getSynths() + def juce = needsJuce() + def fx = buildFxPlugins() withCredentials([file(credentialsId: 'rclone_dsp56300_conf', variable: 'RCLONE_CONF')]) { - if(hasLabel("mac")) { - genericSh "cmake . -G Xcode -B ${buildDir} -Dgearmulator_BUILD_JUCEPLUGIN=${BUILD_JUCE} -Dgearmulator_BUILD_FX_PLUGIN=${BUILD_FX_PLUGIN} -DCMAKE_BUILD_TYPE=Release" - } else { - genericSh "cmake . -B ${buildDir} -Dgearmulator_BUILD_JUCEPLUGIN=${BUILD_JUCE} -Dgearmulator_BUILD_FX_PLUGIN=${BUILD_FX_PLUGIN} -DCMAKE_BUILD_TYPE=Release" - } + genericSh "cmake -Dgearmulator_SOURCE_DIR=../ -Dgearmulator_BINARY_DIR=../${buildDir} -Dgearmulator_BUILD_JUCEPLUGIN=${juce} -Dgearmulator_BUILD_FX_PLUGIN=${fx} -DCMAKE_BUILD_TYPE=Release ${synths} -P scripts/generate.cmake" + } - dir(cmakeBuildDir()) { - if(hasLabel("m2")) { - genericSh 'cmake --build . --config Release --parallel 6' - } else if(hasLabel("pi5")) { - genericSh 'cmake --build . --config Release --parallel 2' - } else { - genericSh 'cmake --build . --config Release --parallel 2' - } - } + def parallel = 2; + + if(hasLabel("win")) { + parallel = 12; + } else if(hasLabel("m2")) { + parallel = 6; + } else if(hasLabel("pi5")) { + paraellel = 2; } + + genericSh "cmake --build ${buildDir} --config Release --parallel ${parallel}" } def doIntegrationTests() @@ -185,10 +207,11 @@ def doPack() def copyArtefacts(local, remote) { + def buildDir = cmakeBuildDir() + def synths = getSynths() + withCredentials([file(credentialsId: 'rclone_dsp56300_conf', variable: 'RCLONE_CONF')]) { - dir(cmakeBuildDir()) { - genericSh "cmake -DUPLOAD_LOCAL=${local} -DUPLOAD_REMOTE=${remote} -DFOLDER=${params.Branch}/${params.UploadFolder} -P ../../scripts/deploy.cmake" - } + genericSh "cmake -Dgearmulator_BINARY_DIR=${buildDir} -DUPLOAD_LOCAL=${local} -DUPLOAD_REMOTE=${remote} -DFOLDER=${params.UploadFolder} ${synths} -P scripts/deployAll.cmake" } } diff --git a/scripts/JenkinsfileMulti b/scripts/JenkinsfileMulti @@ -6,12 +6,16 @@ pipeline { booleanParam(name: 'LinuxX86', defaultValue: true, description: '') booleanParam(name: 'Win', defaultValue: true, description: '') booleanParam(name: 'Mac', defaultValue: true, description: '') - choice(name: 'Branch', choices: ['osirus', 'ostirus', 'vavra'], description: '') + choice(name: 'Branch', choices: ['main'], description: '') booleanParam(name: 'FXPlugins', defaultValue: true, description: '') - booleanParam(name: 'IntegrationTests', defaultValue: false, description: '') + booleanParam(name: 'IntegrationTests', defaultValue: true, description: '') booleanParam(name: 'Deploy', defaultValue: false, description: '') booleanParam(name: 'Upload', defaultValue: false, description: '') - choice(name: 'UploadFolder', choices: ['/internal', '', '/alpha', '/beta', '/donators', ''], description: '') + choice(name: 'UploadFolder', choices: ['internal', '', 'alpha', 'beta', 'donators', ''], description: '') + booleanParam(name: 'SynthOsirus', defaultValue: true, description: '') + booleanParam(name: 'SynthOsTIrus', defaultValue: true, description: '') + booleanParam(name: 'SynthVavra', defaultValue: true, description: '') + booleanParam(name: 'SynthXenia', defaultValue: true, description: '') } stages { stage('Prepare') { @@ -27,6 +31,10 @@ pipeline { if(params.IntegrationTests) currentBuild.displayName += " i" if(params.Deploy) currentBuild.displayName += " d" if(params.Upload) currentBuild.displayName += " u" + if(params.SynthOsirus) currentBuild.displayName += " Sabc" + if(params.SynthOsTIrus) currentBuild.displayName += " Sti" + if(params.SynthVavra) currentBuild.displayName += " SmQ" + if(params.SynthXenia) currentBuild.displayName += " Sxt" currentBuild.description = "Integration Tests: ${params.IntegrationTests}\nDeploy: ${params.Deploy}" } @@ -73,8 +81,7 @@ pipeline { def startBuildJob(label) { -// build job: 'dsp56300', parameters: [[$class: 'LabelParameterValue', name: 'Agent', label: "win" ]] - build job: 'dsp56300', parameters: + build job: 'dsp56300_main', parameters: [ [$class: 'StringParameterValue', name: 'AgentLabel', value: "${label}"], [$class: 'StringParameterValue', name: 'Branch', value: params.Branch], @@ -83,5 +90,9 @@ def startBuildJob(label) [$class: 'BooleanParameterValue', name: 'IntegrationTests', value: params.IntegrationTests], [$class: 'BooleanParameterValue', name: 'FXPlugins', value: params.FXPlugins], [$class: 'StringParameterValue', name: 'UploadFolder', value: params.UploadFolder], + [$class: 'BooleanParameterValue', name: 'SynthOsirus', value: params.SynthOsirus], + [$class: 'BooleanParameterValue', name: 'SynthOsTIrus', value: params.SynthOsTIrus], + [$class: 'BooleanParameterValue', name: 'SynthVavra', value: params.SynthVavra], + [$class: 'BooleanParameterValue', name: 'SynthXenia', value: params.SynthXenia], ] }