From e75d5b9c465ef6e210bd457bc7c2caf891ae5d15 Mon Sep 17 00:00:00 2001 From: Samuel Obuch Date: Wed, 14 May 2025 12:36:24 +0200 Subject: [PATCH] ci: select OpenOCD binary based on runner --- .gitlab/ci/common.yml | 22 +++++++++++++------ .gitlab/ci/pre_check.yml | 2 ++ .../templates/.dynamic_jobs.yml | 3 +++ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.gitlab/ci/common.yml b/.gitlab/ci/common.yml index a4cd653441..28eaa55403 100644 --- a/.gitlab/ci/common.yml +++ b/.gitlab/ci/common.yml @@ -177,13 +177,21 @@ variables: fi # Custom OpenOCD - if [[ ! -z "$OOCD_DISTRO_URL" && "$CI_JOB_STAGE" == "target_test" ]]; then - echo "Using custom OpenOCD from ${OOCD_DISTRO_URL}" - wget $OOCD_DISTRO_URL - ARCH_NAME=$(basename $OOCD_DISTRO_URL) - tar -x -f $ARCH_NAME - export OPENOCD_SCRIPTS=$PWD/openocd-esp32/share/openocd/scripts - export PATH=$PWD/openocd-esp32/bin:$PATH + if [[ "$CI_JOB_STAGE" == "target_test" ]]; then + machine="$(uname -m)" + if [[ "$machine" == "armv7l" ]] ; then + OOCD_DISTRO_URL="$OOCD_DISTRO_URL_ARMHF" + elif [[ "$machine" == "aarch64" ]] ; then + OOCD_DISTRO_URL="$OOCD_DISTRO_URL_ARM64" + fi + if [[ ! -z "$OOCD_DISTRO_URL" ]]; then + echo "Using custom OpenOCD from ${OOCD_DISTRO_URL}" + wget $OOCD_DISTRO_URL + ARCH_NAME=$(basename $OOCD_DISTRO_URL) + tar -x -f $ARCH_NAME + export OPENOCD_SCRIPTS=$PWD/openocd-esp32/share/openocd/scripts + export PATH=$PWD/openocd-esp32/bin:$PATH + fi fi if [[ -n "$CI_PYTHON_TOOL_REPO" ]]; then diff --git a/.gitlab/ci/pre_check.yml b/.gitlab/ci/pre_check.yml index 80b24b9ee5..0dd07322b6 100644 --- a/.gitlab/ci/pre_check.yml +++ b/.gitlab/ci/pre_check.yml @@ -160,6 +160,8 @@ pipeline_variables: if [ -n "$CI_PYTHON_CONSTRAINT_BRANCH" ]; then echo "BUILD_AND_TEST_ALL_APPS=1" >> pipeline.env fi + - echo "OOCD_DISTRO_URL_ARMHF=$OOCD_DISTRO_URL_ARMHF" >> pipeline.env + - echo "OOCD_DISTRO_URL_ARM64=$OOCD_DISTRO_URL_ARM64" >> pipeline.env - cat pipeline.env - python tools/ci/artifacts_handler.py upload --type modified_files_and_components_report artifacts: diff --git a/tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml b/tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml index bab2fd6cdf..398fdcd1dc 100644 --- a/tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml +++ b/tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml @@ -51,6 +51,9 @@ TARGET_SELECTOR: "" ENV_MARKERS: "" PYTEST_EXTRA_FLAGS: "--dev-passwd ${ETHERNET_TEST_PASSWORD} --dev-user ${ETHERNET_TEST_USER} --capture=fd --verbosity=0" + needs: + - pipeline: $PARENT_PIPELINE_ID + job: pipeline_variables cache: # Usually do not need submodule-cache in target_test - key: pip-cache-${LATEST_GIT_TAG}