From 2eb1368275a4fc039d4aedecd7360e9b1b14e651 Mon Sep 17 00:00:00 2001 From: Daniele Lacamera Date: Thu, 16 Apr 2026 15:47:49 +0200 Subject: [PATCH] Workaround for test-build-kontron hanging apt + renode tests moved to wolfboot-ci --- .../test-build-kontron-vx3060-s2.yml | 34 +++++++++++++++++-- .github/workflows/test-x86-fsp-qemu.yml | 34 +++++++++++++++++-- tools/renode/docker-test.sh | 6 ++-- 3 files changed, 67 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test-build-kontron-vx3060-s2.yml b/.github/workflows/test-build-kontron-vx3060-s2.yml index 5e0fb331..29e4b588 100644 --- a/.github/workflows/test-build-kontron-vx3060-s2.yml +++ b/.github/workflows/test-build-kontron-vx3060-s2.yml @@ -12,10 +12,40 @@ jobs: - uses: actions/checkout@v4 with: submodules: true + - name: Workaround for sources.list + run: | + set -euxo pipefail + + apt-cache policy + grep -RInE '^(deb|Types|URIs)' /etc/apt || true + + shopt -s nullglob + + sudo sed -i \ + -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ + /etc/apt/sources.list || true + + for f in /etc/apt/sources.list.d/*.list; do + sudo sed -i \ + -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ + "$f" + done + + for f in /etc/apt/sources.list.d/*.sources; do + sudo sed -i \ + -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ + -e "s|https\?://azure\.archive\.ubuntu\.com|http://mirror.arizona.edu|g" \ + "$f" + done + + if grep -qE '^[[:space:]]*https?://azure\.archive\.ubuntu\.com/ubuntu/?' /etc/apt/apt-mirrors.txt; then + sudo sed -i 's|https\?://azure\.archive\.ubuntu\.com/ubuntu/|http://mirror.arizona.edu/ubuntu/|g' /etc/apt/apt-mirrors.txt + fi - name: install req run: | - sudo apt-get update - sudo apt-get install --no-install-recommends -y -q nasm gcc-multilib + export DEBIAN_FRONTEND=noninteractive + sudo apt-get update -o Acquire::Retries=3 + sudo apt-get install --no-install-recommends -y -q -o Acquire::Retries=3 nasm gcc-multilib - name: setup git run: | git config --global user.email "you@example.com" diff --git a/.github/workflows/test-x86-fsp-qemu.yml b/.github/workflows/test-x86-fsp-qemu.yml index 25741239..bc4b00b6 100644 --- a/.github/workflows/test-x86-fsp-qemu.yml +++ b/.github/workflows/test-x86-fsp-qemu.yml @@ -12,10 +12,40 @@ jobs: - uses: actions/checkout@v4 with: submodules: true + - name: Workaround for sources.list + run: | + set -euxo pipefail + + apt-cache policy + grep -RInE '^(deb|Types|URIs)' /etc/apt || true + + shopt -s nullglob + + sudo sed -i \ + -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ + /etc/apt/sources.list || true + + for f in /etc/apt/sources.list.d/*.list; do + sudo sed -i \ + -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ + "$f" + done + + for f in /etc/apt/sources.list.d/*.sources; do + sudo sed -i \ + -e "s|https\?://azure\.archive\.ubuntu\.com/ubuntu/?|http://mirror.arizona.edu/ubuntu/|g" \ + -e "s|https\?://azure\.archive\.ubuntu\.com|http://mirror.arizona.edu|g" \ + "$f" + done + + if grep -qE '^[[:space:]]*https?://azure\.archive\.ubuntu\.com/ubuntu/?' /etc/apt/apt-mirrors.txt; then + sudo sed -i 's|https\?://azure\.archive\.ubuntu\.com/ubuntu/|http://mirror.arizona.edu/ubuntu/|g' /etc/apt/apt-mirrors.txt + fi - name: install req run: | - sudo apt-get update - sudo apt-get install --no-install-recommends -y -q nasm gcc-multilib qemu-system-x86 swtpm uuid-dev + export DEBIAN_FRONTEND=noninteractive + sudo apt-get update -o Acquire::Retries=3 + sudo apt-get install --no-install-recommends -y -q -o Acquire::Retries=3 nasm gcc-multilib qemu-system-x86 swtpm uuid-dev - name: setup git run: | git config --global user.email "you@example.com" diff --git a/tools/renode/docker-test.sh b/tools/renode/docker-test.sh index fb2061dd..63e91773 100755 --- a/tools/renode/docker-test.sh +++ b/tools/renode/docker-test.sh @@ -4,13 +4,13 @@ declare -r HOST_TEST_RESULTS_PATH=${HOST_ROOT_DIR}/test_results declare -r HOST_LOG_PATH=${HOST_TEST_RESULTS_PATH} declare -r HOST_LOG_FILENAME=${HOST_LOG_PATH}/logs.txt -declare -r DOCKER_TAG=renode_nrf52 +declare -r DOCKER_IMAGE="${DOCKER_IMAGE:-ghcr.io/wolfssl/wolfboot-ci-renode:latest}" declare -r DOCKER_WORKSPACE=/workspace declare -r DOCKER_TEST_RESULTS_PATH=/tmp/test_results mkdir -p ${HOST_LOG_PATH} -docker build -t ${DOCKER_TAG} -f ${HOST_ROOT_DIR}/tools/renode/Dockerfile . +docker pull ${DOCKER_IMAGE} >/dev/null 2>&1 || true # running in `if` to avoid setting +e @@ -22,7 +22,7 @@ if ! docker run \ --env SCRIPT=${DOCKER_WORKSPACE}/renode-config.resc \ --env RENODE_CHECKOUT=/home/developer/renode \ --workdir ${DOCKER_WORKSPACE} \ - ${DOCKER_TAG} \ + ${DOCKER_IMAGE} \ /bin/bash -c "tools/scripts/renode-test-update.sh $@ 2>&1 > ${DOCKER_TEST_RESULTS_PATH}/logs.txt" then echo "FAILED"