From: Jiaxun Yang <jiaxun.yang@flygoat.com>
To: u-boot@lists.denx.de
Cc: Simon Glass <sjg@chromium.org>,
Alper Nebi Yasak <alpernebiyasak@gmail.com>,
Tom Rini <trini@konsulko.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Aaron Williams <awilliams@marvell.com>,
Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 13/20] CI: Ensure pip install is always performed in venv
Date: Tue, 11 Jun 2024 22:04:12 +0100 [thread overview]
Message-ID: <20240611-docker-image-v1-13-51472eb70357@flygoat.com> (raw)
In-Reply-To: <20240611-docker-image-v1-0-51472eb70357@flygoat.com>
Since Ubuntu focal it's nolonger permitted to perform global
pip install.
Ensure that pip install is always performed in venv.
For buildman alone, all dependencies are already in docker
so there is no need to perform pip install.
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
.azure-pipelines.yml | 16 ++++++++++------
.gitlab-ci.yml | 13 ++++++++-----
2 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 37b569b13ab0..2506814725e1 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -150,6 +150,8 @@ stages:
- script: |
git config --global --add safe.directory $(work_dir)
export USER=azure
+ virtualenv -p /usr/bin/python3 /tmp/venv
+ . /tmp/venv/bin/activate
pip install -r test/py/requirements.txt
pip install -r tools/buildman/requirements.txt
pip install asteval pylint==3.2.3 pyopenssl
@@ -183,7 +185,10 @@ stages:
image: $(ci_runner_image)
options: $(container_option)
steps:
- - script: make pip
+ - script: |
+ virtualenv -p /usr/bin/python3 /tmp/venv
+ . /tmp/venv/bin/activate
+ make pip
- job: create_test_py_wrapper_script
displayName: 'Create and stage a wrapper for test.py runs'
@@ -217,7 +222,11 @@ stages:
if [ -n "\${BUILD_ENV}" ]; then
export \${BUILD_ENV};
fi
+ virtualenv -p /usr/bin/python3 /tmp/venv
+ . /tmp/venv/bin/activate
pip install -r tools/buildman/requirements.txt
+ pip install -r test/py/requirements.txt
+ pip install pytest-azurepipelines
tools/buildman/buildman -o \${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e --board \${TEST_PY_BD} \${OVERRIDE}
cp ~/grub_x86.efi \${UBOOT_TRAVIS_BUILD_DIR}/
cp ~/grub_x64.efi \${UBOOT_TRAVIS_BUILD_DIR}/
@@ -241,10 +250,6 @@ stages:
/opt/coreboot/cbfstool \${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom remove -n fallback/payload;
/opt/coreboot/cbfstool \${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom add-flat-binary -f \${UBOOT_TRAVIS_BUILD_DIR}/u-boot.bin -n fallback/payload -c LZMA -l 0x1110000 -e 0x1110000;
fi
- virtualenv -p /usr/bin/python3 /tmp/venv
- . /tmp/venv/bin/activate
- pip install -r test/py/requirements.txt
- pip install pytest-azurepipelines
export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:\${PATH}
export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
# "\${var:+"-k \$var"}" expands to "" if \$var is empty, "-k \$var" if not
@@ -504,7 +509,6 @@ stages:
# make environment variables available as tests are running inside a container
export BUILDMAN="${BUILDMAN}"
git config --global --add safe.directory ${WORK_DIR}
- pip install -r tools/buildman/requirements.txt
EOF
cat << "EOF" >> build.sh
if [[ "${BUILDMAN}" != "" ]]; then
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 18c4c430c63d..4c17abea468a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -50,6 +50,10 @@ stages:
- if [ -n "${BUILD_ENV}" ]; then
export ${BUILD_ENV};
fi
+ - virtualenv -p /usr/bin/python3 /tmp/venv
+ - . /tmp/venv/bin/activate
+ - pip install -r tools/buildman/requirements.txt
+ - pip install -r test/py/requirements.txt
- tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e
--board ${TEST_PY_BD} ${OVERRIDE}
- cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/
@@ -74,9 +78,6 @@ stages:
/opt/coreboot/cbfstool ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom remove -n fallback/payload;
/opt/coreboot/cbfstool ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom add-flat-binary -f ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.bin -n fallback/payload -c LZMA -l 0x1110000 -e 0x1110000;
fi
- - virtualenv -p /usr/bin/python3 /tmp/venv
- - . /tmp/venv/bin/activate
- - pip install -r test/py/requirements.txt
# "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
- export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
@@ -100,7 +101,6 @@ build all 32bit ARM platforms:
script:
- ret=0;
git config --global --add safe.directory "${CI_PROJECT_DIR}";
- pip install -r tools/buildman/requirements.txt;
./tools/buildman/buildman -o /tmp -PEWM arm -x aarch64 || ret=$?;
if [[ $ret -ne 0 ]]; then
./tools/buildman/buildman -o /tmp -seP;
@@ -114,7 +114,6 @@ build all 64bit ARM platforms:
- . /tmp/venv/bin/activate
- ret=0;
git config --global --add safe.directory "${CI_PROJECT_DIR}";
- pip install -r tools/buildman/requirements.txt;
./tools/buildman/buildman -o /tmp -PEWM aarch64 || ret=$?;
if [[ $ret -ne 0 ]]; then
./tools/buildman/buildman -o /tmp -seP;
@@ -212,6 +211,8 @@ Run pylint:
extends: .testsuites
script:
- git config --global --add safe.directory "${CI_PROJECT_DIR}"
+ - virtualenv -p /usr/bin/python3 /tmp/venv;
+ - . /tmp/venv/bin/activate;
- pip install -r test/py/requirements.txt
- pip install -r tools/buildman/requirements.txt
- pip install asteval pylint==3.2.3 pyopenssl
@@ -240,6 +241,8 @@ Check for pre-schema tags:
Check packing of Python tools:
extends: .testsuites
script:
+ - virtualenv -p /usr/bin/python3 /tmp/venv;
+ - . /tmp/venv/bin/activate;
- make pip
# Test sandbox with test.py
--
2.43.0
next prev parent reply other threads:[~2024-06-11 21:06 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-11 21:03 [PATCH 00/20] New CI image and fixes Jiaxun Yang
2024-06-11 21:04 ` [PATCH 01/20] py: Replace deprecated unittest APIs Jiaxun Yang
2024-06-11 21:04 ` [PATCH 02/20] binman: Replace pkg_resources with importlib.resources Jiaxun Yang
2024-06-11 21:04 ` [PATCH 03/20] py: Replace distutils.core with setuptools Jiaxun Yang
2024-06-11 21:04 ` [PATCH 04/20] py: Replace usage of configparser.read_fp Jiaxun Yang
2024-06-11 21:04 ` [PATCH 05/20] doc/sphinx: Remove usage of six Jiaxun Yang
2024-06-11 21:04 ` [PATCH 06/20] py: Remove unused entries in requirements.txt Jiaxun Yang
2024-06-11 21:04 ` [PATCH 07/20] py: Bump requirements versions Jiaxun Yang
2024-06-11 21:04 ` [PATCH 08/20] py: Bump pylint version and clear warnings Jiaxun Yang
2024-06-11 21:04 ` [PATCH 09/20] binman: Workaround lz4 cli padding in test cases Jiaxun Yang
2024-06-11 21:04 ` [PATCH 10/20] tests/test_event_dump: Relax match rule for output Jiaxun Yang
2024-06-11 21:04 ` [PATCH 11/20] lib/charset & efi: Fix possible unaligned accesses Jiaxun Yang
2024-06-11 21:04 ` [PATCH 12/20] cyclic: Rise default CYCLIC_MAX_CPU_TIME_US to 5000 Jiaxun Yang
2024-06-12 16:00 ` Tom Rini
2024-06-12 16:13 ` Jiaxun Yang
2024-06-12 16:50 ` Tom Rini
2024-06-14 14:13 ` Stefan Roese
2024-06-17 23:29 ` Tom Rini
2024-06-18 14:00 ` Jiaxun Yang
2024-06-18 14:24 ` Stefan Roese
2024-06-18 14:31 ` Tom Rini
2024-06-18 21:03 ` Tim Harvey
2024-06-19 8:21 ` Rasmus Villemoes
2024-06-19 15:20 ` Tom Rini
2024-06-18 14:01 ` Stefan Roese
2024-06-11 21:04 ` Jiaxun Yang [this message]
2024-06-12 16:00 ` [PATCH 13/20] CI: Ensure pip install is always performed in venv Tom Rini
2024-06-11 21:04 ` [PATCH 14/20] CI: GitLab: Split build_world tasks Jiaxun Yang
2024-06-12 16:01 ` Tom Rini
2024-06-12 16:14 ` Jiaxun Yang
2024-06-12 17:07 ` Tom Rini
2024-06-12 20:24 ` Simon Glass
2024-06-13 15:32 ` Tom Rini
2024-06-11 21:04 ` [PATCH 15/20] CI: Dockerfile: Set global git name & email config Jiaxun Yang
2024-06-11 21:04 ` [PATCH 16/20] CI: Dockerfile: Bump various software version Jiaxun Yang
2024-06-12 16:02 ` Tom Rini
2024-06-12 16:19 ` Jiaxun Yang
2024-06-11 21:04 ` [PATCH 17/20] CI: Dockerfile: Add LoongArch64 support Jiaxun Yang
2024-06-11 21:04 ` [PATCH 18/20] doc: ci: Document how to run pipeline on gitlab.com Jiaxun Yang
2024-06-11 21:04 ` [PATCH NFC 19/20] Use Jiaxun's CI Image Jiaxun Yang
2024-06-11 21:04 ` [PATCH NFC 20/20] CI: Dockerfile: Replace some URL with mirror sites Jiaxun Yang
2024-06-12 16:00 ` [PATCH 00/20] New CI image and fixes Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240611-docker-image-v1-13-51472eb70357@flygoat.com \
--to=jiaxun.yang@flygoat.com \
--cc=alpernebiyasak@gmail.com \
--cc=awilliams@marvell.com \
--cc=ilias.apalodimas@linaro.org \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.