From 1f2dfbc7ed69f2a2b180d574fd0e50136bc3c24e Mon Sep 17 00:00:00 2001 From: rleander Date: Thu, 24 Oct 2024 08:52:28 +0200 Subject: [PATCH 1/3] Ribasim artifact dependency name change breaks development collector build for linux --- .../buildTypes/IMODCollector_X64developmentLnx64.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64developmentLnx64.kt b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64developmentLnx64.kt index 44b98e05..a0572b5b 100644 --- a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64developmentLnx64.kt +++ b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64developmentLnx64.kt @@ -100,7 +100,7 @@ object IMODCollector_X64developmentLnx64 : BuildType({ artifacts(AbsoluteId("Ribasim_Linux_BuildRibasim")) { id = "ARTIFACT_DEPENDENCY_285" buildRule = lastSuccessful() - artifactRules = "libribasim.zip!** => ribasim" + artifactRules = "ribasim_linux.zip!** => ." } } From d8e95562c50d319e87ca7af4dfe8ada541b0b5b9 Mon Sep 17 00:00:00 2001 From: rleander Date: Thu, 24 Oct 2024 13:27:25 +0200 Subject: [PATCH 2/3] added release linux build --- .../buildTypes/IMODCollector_X64Release.kt | 18 ----- .../IMODCollector_X64ReleaseLnx64.kt | 77 +++++++++++++++++++ .../IMODCollector_X64development.kt | 6 +- .../buildTypes/TestbenchCouplerWin64_2.kt | 2 +- 4 files changed, 81 insertions(+), 22 deletions(-) create mode 100644 .teamcity/IMODCollector/buildTypes/IMODCollector_X64ReleaseLnx64.kt diff --git a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64Release.kt b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64Release.kt index 2412123a..d7db27b4 100644 --- a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64Release.kt +++ b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64Release.kt @@ -30,24 +30,6 @@ object IMODCollector_X64Release : BuildType({ } steps { - script { - name = "Create imod_collector conda environment" - id = "Create_imod_collector_conda_environment" - enabled = false - scriptContent = """ - if exist "%conda_env_path%" rd /q /s "%conda_env_path%" - conda env create --file coupler/environment-minimal.yml -p "%conda_env_path%" - """.trimIndent() - } - script { - name = "Install iMOD Coupler" - enabled = false - workingDir = "coupler" - scriptContent = """ - call conda activate %conda_env_path% - call pip install -e . - """.trimIndent() - } script { name = "Create executable with pyinstaller" workingDir = "coupler" diff --git a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64ReleaseLnx64.kt b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64ReleaseLnx64.kt new file mode 100644 index 00000000..71df35ba --- /dev/null +++ b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64ReleaseLnx64.kt @@ -0,0 +1,77 @@ +package IMODCollector.buildTypes + +import _Self.vcsRoots.ImodCoupler +import jetbrains.buildServer.configs.kotlin.* +import jetbrains.buildServer.configs.kotlin.buildFeatures.PullRequests +import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher +import jetbrains.buildServer.configs.kotlin.buildFeatures.pullRequests +import jetbrains.buildServer.configs.kotlin.buildSteps.script +import jetbrains.buildServer.configs.kotlin.triggers.finishBuildTrigger + +object IMODCollector_X64ReleaseLnx64 : BuildType({ + name = "x64_Release_lnx64" + description = "Collect all Release_x64 kernels in the iMOD6 suite" + + artifactRules = """ + coupler/dist/ => imod_collector.zip!/ + modflow6/ => imod_collector.zip!/modflow6/ + metaswap/ => imod_collector.zip!/metaswap/ + ribasim/ => imod_collector.zip!/ribasim/ + """.trimIndent() + + params { + param("conda_env_path", "%system.teamcity.build.checkoutDir%/imod_collector_env") + } + + vcs { + root(_Self.vcsRoots.ImodCoupler, "+:. => ./coupler") + + cleanCheckout = true + } + + steps { + script { + name = "Create executable with pyinstaller" + workingDir = "./coupler" + scriptContent = """ + #!/bin/bash + source /usr/share/Modules/init/profile.sh + module load pixi + rm -rf dist + pixi run -e dev install-minimal + pixi run -e dev pyinstaller --onefile imod_coupler/__main__.py --name imodc + """.trimIndent() + } + script { + name = "Get version from imod coupler" + id = "RUNNER_1232" + scriptContent = "./coupler/dist/imodc --version" + } + script { + name = "Download Release MODFLOW 6.5.0" + scriptContent = """ + curl -L -o mf6.5.0_linux.zip https://github.com/MODFLOW-USGS/modflow6/releases/download/6.5.0/mf6.5.0_linux.zip + unzip -j "mf6.5.0_linux.zip" -d modflow6 mf6.5.0_linux/bin/libmf6.so + """.trimIndent() + } + script { + name = "Download Release Ribasim v2024.11.0" + scriptContent = """ + curl -L -o ribasim_linux.zip https://github.com/Deltares/Ribasim/releases/download/v2024.11.0/ribasim_linux.zip + unzip "ribasim_linux.zip" + """.trimIndent() + } + } + + dependencies { + artifacts(AbsoluteId("MSWMOD_MetaSWAP_MetaSWAPDevelopLnx64")) { + cleanDestination = true + buildRule = tag("release_2410") + artifactRules = "libmsw.so => metaswap/" + } + } + + requirements { + equals("env.OS", "Linux", "RQ_341") + } +}) diff --git a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64development.kt b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64development.kt index 521176fe..d14e197d 100644 --- a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64development.kt +++ b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64development.kt @@ -13,10 +13,10 @@ object IMODCollector_X64development : BuildType({ description = "Collect all Release_x64 kernels in the iMOD6 suite" artifactRules = """ - coupler/dist/ => imod_collector.zip!/imod_coupler/ + coupler/dist/ => imod_collector.zip!/ modflow6/ => imod_collector.zip!/modflow6/ metaswap/ => imod_collector.zip!/metaswap/ - ribasim/ribasim/ => imod_collector.zip!/ribasim/ + ribasim/ => imod_collector.zip!/ribasim/ """.trimIndent() params { @@ -108,7 +108,7 @@ object IMODCollector_X64development : BuildType({ } artifacts(AbsoluteId("Ribasim_Windows_BuildRibasim")) { buildRule = lastSuccessful() - artifactRules = "ribasim_windows.zip!** => ribasim" + artifactRules = "ribasim_windows.zip!** => ." } } diff --git a/.teamcity/_Self/buildTypes/TestbenchCouplerWin64_2.kt b/.teamcity/_Self/buildTypes/TestbenchCouplerWin64_2.kt index 82b8257b..9268d3e4 100644 --- a/.teamcity/_Self/buildTypes/TestbenchCouplerWin64_2.kt +++ b/.teamcity/_Self/buildTypes/TestbenchCouplerWin64_2.kt @@ -28,7 +28,7 @@ object TestbenchCouplerWin64_2 : BuildType({ param("env.METASWAP_DLL_DEP_DIR_REGRESSION", "%system.teamcity.build.checkoutDir%/imod_collector_regression/metaswap") param("env.METASWAP_DLL_DEVEL", "%system.teamcity.build.checkoutDir%/imod_collector_devel/metaswap/MetaSWAP.dll") param("env.METASWAP_DLL_DEP_DIR_DEVEL", "%system.teamcity.build.checkoutDir%/imod_collector_devel/metaswap") - param("env.IMOD_COUPLER_EXEC_DEVEL", "%system.teamcity.build.checkoutDir%/imod_collector_devel/imod_coupler/imodc.exe") + param("env.IMOD_COUPLER_EXEC_DEVEL", "%system.teamcity.build.checkoutDir%/imod_collector_devel/imodc.exe") param("env.RIBASIM_DLL_DEP_DIR_REGRESSION", "%system.teamcity.build.checkoutDir%/imod_collector_regression/ribasim/bin") param("env.METASWAP_LOOKUP_TABLE", "%system.teamcity.build.checkoutDir%/lookup_table") param("env.RIBASIM_DLL_REGRESSION", "%system.teamcity.build.checkoutDir%/imod_collector_regression/ribasim/bin/libribasim.dll") From 2b90b9c8f26777adbfee87c5bf647fbd880ec594 Mon Sep 17 00:00:00 2001 From: rleander Date: Thu, 24 Oct 2024 13:35:32 +0200 Subject: [PATCH 3/3] added kt-file for linux release build --- .teamcity/IMODCollector/Project.kt | 1 + .../IMODCollector_X64ReleaseLnx64.kt | 26 +++++++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.teamcity/IMODCollector/Project.kt b/.teamcity/IMODCollector/Project.kt index af7cd0bf..fade8ce6 100644 --- a/.teamcity/IMODCollector/Project.kt +++ b/.teamcity/IMODCollector/Project.kt @@ -10,6 +10,7 @@ object Project : Project({ name = "iMOD_Collector" description = "Collect iMOD6 coupled components + coupler into a single package" buildType(IMODCollector_X64Release) + buildType(IMODCollector_X64ReleaseLnx64) buildType(IMODCollector_X64development) buildType(IMODCollector_X64developmentLnx64) }) diff --git a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64ReleaseLnx64.kt b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64ReleaseLnx64.kt index 71df35ba..fb347564 100644 --- a/.teamcity/IMODCollector/buildTypes/IMODCollector_X64ReleaseLnx64.kt +++ b/.teamcity/IMODCollector/buildTypes/IMODCollector_X64ReleaseLnx64.kt @@ -47,20 +47,20 @@ object IMODCollector_X64ReleaseLnx64 : BuildType({ id = "RUNNER_1232" scriptContent = "./coupler/dist/imodc --version" } - script { - name = "Download Release MODFLOW 6.5.0" - scriptContent = """ - curl -L -o mf6.5.0_linux.zip https://github.com/MODFLOW-USGS/modflow6/releases/download/6.5.0/mf6.5.0_linux.zip - unzip -j "mf6.5.0_linux.zip" -d modflow6 mf6.5.0_linux/bin/libmf6.so - """.trimIndent() + script { + name = "Download Release MODFLOW 6.5.0" + scriptContent = """ + curl -L -o mf6.5.0_linux.zip https://github.com/MODFLOW-USGS/modflow6/releases/download/6.5.0/mf6.5.0_linux.zip + unzip -j "mf6.5.0_linux.zip" -d modflow6 mf6.5.0_linux/bin/libmf6.so + """.trimIndent() + } + script { + name = "Download Release Ribasim v2024.11.0" + scriptContent = """ + curl -L -o ribasim_linux.zip https://github.com/Deltares/Ribasim/releases/download/v2024.11.0/ribasim_linux.zip + unzip "ribasim_linux.zip" + """.trimIndent() } - script { - name = "Download Release Ribasim v2024.11.0" - scriptContent = """ - curl -L -o ribasim_linux.zip https://github.com/Deltares/Ribasim/releases/download/v2024.11.0/ribasim_linux.zip - unzip "ribasim_linux.zip" - """.trimIndent() - } } dependencies {