diff --git a/job_templates/ci_job.xml.em b/job_templates/ci_job.xml.em index cb515835..9be472ce 100644 --- a/job_templates/ci_job.xml.em +++ b/job_templates/ci_job.xml.em @@ -98,6 +98,7 @@ use_fastrtps_dynamic: ${build.buildVariableResolver.resolve('CI_USE_FASTRTPS_DYN ci_branch: ${build.buildVariableResolver.resolve('CI_SCRIPTS_BRANCH')},
repos_url: ${build.buildVariableResolver.resolve('CI_ROS2_REPOS_URL')},
supplemental_repos_url: ${build.buildVariableResolver.resolve('CI_ROS2_SUPPLEMENTAL_REPOS_URL')},
+pixi_toml_url: ${build.buildVariableResolver.resolve('CI_PIXI_TOML_URL')},
colcon_branch: ${build.buildVariableResolver.resolve('CI_COLCON_BRANCH')},
use_whitespace: ${build.buildVariableResolver.resolve('CI_USE_WHITESPACE_IN_PATHS')},
isolated: ${build.buildVariableResolver.resolve('CI_ISOLATED')},
@@ -260,6 +261,9 @@ if "!CI_BRANCH_TO_TEST!" NEQ "" ( if "!CI_COLCON_BRANCH!" NEQ "" ( set "CI_ARGS=!CI_ARGS! --colcon-branch !CI_COLCON_BRANCH!" ) +if "!CI_PIXI_TOML_URL!" NEQ "" ( + set "BUILD_ARGS=!BUILD_ARGS! --build-arg PIXI_TOML_URL=%CI_PIXI_TOML_URL%" +) if "!CI_USE_WHITESPACE_IN_PATHS!" == "true" ( set "CI_ARGS=!CI_ARGS! --white-space-in sourcespace buildspace installspace workspace" ) diff --git a/job_templates/packaging_job.xml.em b/job_templates/packaging_job.xml.em index e61f0581..ab3ef176 100644 --- a/job_templates/packaging_job.xml.em +++ b/job_templates/packaging_job.xml.em @@ -256,6 +256,9 @@ if "!CI_BRANCH_TO_TEST!" NEQ "" ( if "!CI_COLCON_BRANCH!" NEQ "" ( set "CI_ARGS=!CI_ARGS! --colcon-branch !CI_COLCON_BRANCH!" ) +if "!CI_PIXI_TOML_URL!" NEQ "" ( + set "BUILD_ARGS=!BUILD_ARGS! --build-arg PIXI_TOML_URL=!CI_PIXI_TOML_URL!%" +) if "!CI_USE_CONNEXTDDS!" == "false" ( set "CI_ARGS=!CI_ARGS! --ignore-rmw rmw_connextdds" ) diff --git a/job_templates/snippet/property_parameter-definition_common.xml.em b/job_templates/snippet/property_parameter-definition_common.xml.em index 8e0c9367..e0804f2d 100644 --- a/job_templates/snippet/property_parameter-definition_common.xml.em +++ b/job_templates/snippet/property_parameter-definition_common.xml.em @@ -32,6 +32,14 @@ Use this instead of the Custom .repos file if you want to add to the default rep @supplemental_repos_url false + + CI_PIXI_TOML_URL + Custom pixi.toml file URL to use instead of the default pixi.toml file. +For example, copy the content of pixi.toml to use instead of the default in a gist, then pass the raw URL here. +The pixi.toml file defines the Pixi environment configuration for the build. + + false + CI_COLCON_BRANCH Use a specific branch of the colcon repositories. diff --git a/windows_docker_resources/Dockerfile b/windows_docker_resources/Dockerfile index ea09b934..02d812ab 100644 --- a/windows_docker_resources/Dockerfile +++ b/windows_docker_resources/Dockerfile @@ -18,6 +18,10 @@ ARG WINDOWS_RELEASE_VERSION=$WINDOWS_RELEASE_ID # Use --isolation=process if you need to build in a mounted volume FROM mcr.microsoft.com/windows/server:$WINDOWS_RELEASE_VERSION +# Set ROS distro value and pixi.toml url +ARG ROS_DISTRO=rolling +ARG PIXI_TOML_URL=https://raw.githubusercontent.com/ros2/ros2/refs/heads/${ROS_DISTRO}/pixi.toml + # Enable long paths on folders RUN powershell -noexit "New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force" @@ -48,9 +52,8 @@ RUN powershell -noexit "$bindir = Join-Path $Env:USERPROFILE\.pixi 'bin' ; $path RUN echo "@today_str" # Install dependencies via pixi -ARG ROS_DISTRO=rolling WORKDIR C:\pixi_ws -RUN powershell -noexit irm https://raw.githubusercontent.com/ros2/ros2/refs/heads/%ROS_DISTRO%/pixi.toml -OutFile pixi.toml +RUN powershell -Command "Invoke-RestMethod -Uri $env:PIXI_TOML_URL -OutFile pixi.toml" RUN pixi --color never --no-progress -q install RUN pixi --color never --no-progress -q list