CI: Invoke pip once rather than multiple times

We can invoke pip once to install the various requirements.txt files
that we need rather than invoking the tool multiple times.

Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Tom Rini 2025-02-04 17:12:07 -06:00
parent 7b05875d41
commit a3166f68e6
2 changed files with 28 additions and 35 deletions

View file

@ -133,11 +133,11 @@ stages:
export USER=azure export USER=azure
virtualenv -p /usr/bin/python3 /tmp/venv virtualenv -p /usr/bin/python3 /tmp/venv
. /tmp/venv/bin/activate . /tmp/venv/bin/activate
pip install -r test/py/requirements.txt pip install -r test/py/requirements.txt \
pip install -r tools/binman/requirements.txt -r tools/binman/requirements.txt \
pip install -r tools/buildman/requirements.txt -r tools/buildman/requirements.txt \
pip install -r tools/patman/requirements.txt -r tools/patman/requirements.txt \
pip install -r tools/u_boot_pylib/requirements.txt -r tools/u_boot_pylib/requirements.txt
export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only
export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt
export PATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH} export PATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}
@ -167,12 +167,12 @@ stages:
export USER=azure export USER=azure
virtualenv -p /usr/bin/python3 /tmp/venv virtualenv -p /usr/bin/python3 /tmp/venv
. /tmp/venv/bin/activate . /tmp/venv/bin/activate
pip install -r test/py/requirements.txt pip install -r test/py/requirements.txt \
pip install -r tools/binman/requirements.txt -r tools/binman/requirements.txt \
pip install -r tools/buildman/requirements.txt -r tools/buildman/requirements.txt \
pip install -r tools/patman/requirements.txt -r tools/patman/requirements.txt \
pip install -r tools/u_boot_pylib/requirements.txt -r tools/u_boot_pylib/requirements.txt \
pip install asteval pylint==2.12.2 pyopenssl asteval pylint==2.12.2 pyopenssl
export PATH=${PATH}:~/.local/bin export PATH=${PATH}:~/.local/bin
echo "[MASTER]" >> .pylintrc echo "[MASTER]" >> .pylintrc
echo "load-plugins=pylint.extensions.docparams" >> .pylintrc echo "load-plugins=pylint.extensions.docparams" >> .pylintrc
@ -274,11 +274,11 @@ stages:
fi fi
virtualenv -p /usr/bin/python3 /tmp/venv virtualenv -p /usr/bin/python3 /tmp/venv
. /tmp/venv/bin/activate . /tmp/venv/bin/activate
pip install -r tools/binman/requirements.txt pip install -r tools/binman/requirements.txt \
pip install -r tools/buildman/requirements.txt -r tools/buildman/requirements.txt \
pip install -r test/py/requirements.txt -r test/py/requirements.txt \
pip install -r tools/u_boot_pylib/requirements.txt -r tools/u_boot_pylib/requirements.txt \
pip install pytest-azurepipelines pytest-azurepipelines
tools/buildman/buildman -o \${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e --board \${TEST_PY_BD} \${OVERRIDE} tools/buildman/buildman -o \${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e --board \${TEST_PY_BD} \${OVERRIDE}
cp /opt/grub/grub_x86.efi \${UBOOT_TRAVIS_BUILD_DIR}/ cp /opt/grub/grub_x86.efi \${UBOOT_TRAVIS_BUILD_DIR}/
cp /opt/grub/grub_x64.efi \${UBOOT_TRAVIS_BUILD_DIR}/ cp /opt/grub/grub_x64.efi \${UBOOT_TRAVIS_BUILD_DIR}/
@ -593,8 +593,8 @@ stages:
git config --global --add safe.directory ${WORK_DIR} git config --global --add safe.directory ${WORK_DIR}
virtualenv -p /usr/bin/python3 /tmp/venv virtualenv -p /usr/bin/python3 /tmp/venv
. /tmp/venv/bin/activate . /tmp/venv/bin/activate
pip install -r tools/binman/requirements.txt pip install -r tools/binman/requirements.txt \
pip install -r tools/buildman/requirements.txt -r tools/buildman/requirements.txt
EOF EOF
cat << "EOF" >> build.sh cat << "EOF" >> build.sh
if [[ "${BUILDMAN}" != "" ]]; then if [[ "${BUILDMAN}" != "" ]]; then

View file

@ -58,10 +58,8 @@ stages:
# Prepare python environment # Prepare python environment
- virtualenv -p /usr/bin/python3 /tmp/venv; - virtualenv -p /usr/bin/python3 /tmp/venv;
. /tmp/venv/bin/activate; . /tmp/venv/bin/activate;
pip install -r test/py/requirements.txt; pip install -r test/py/requirements.txt -r tools/binman/requirements.txt
pip install -r tools/binman/requirements.txt; -r tools/buildman/requirements.txt -r tools/u_boot_pylib/requirements.txt
pip install -r tools/buildman/requirements.txt;
pip install -r tools/u_boot_pylib/requirements.txt;
after_script: after_script:
- cp -v /tmp/${TEST_PY_BD}/*.{html,css,xml} . - cp -v /tmp/${TEST_PY_BD}/*.{html,css,xml} .
@ -127,8 +125,8 @@ build all platforms in a single job:
# Prepare python environment # Prepare python environment
- virtualenv -p /usr/bin/python3 /tmp/venv; - virtualenv -p /usr/bin/python3 /tmp/venv;
. /tmp/venv/bin/activate; . /tmp/venv/bin/activate;
pip install -r tools/binman/requirements.txt; pip install -r tools/binman/requirements.txt
pip install -r tools/buildman/requirements.txt -r tools/buildman/requirements.txt
- ret=0; - ret=0;
git config --global --add safe.directory "${CI_PROJECT_DIR}"; git config --global --add safe.directory "${CI_PROJECT_DIR}";
./tools/buildman/buildman -o /tmp -PEWM -x xtensa || ret=$?; ./tools/buildman/buildman -o /tmp -PEWM -x xtensa || ret=$?;
@ -187,11 +185,9 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites:
export USER=gitlab; export USER=gitlab;
virtualenv -p /usr/bin/python3 /tmp/venv; virtualenv -p /usr/bin/python3 /tmp/venv;
. /tmp/venv/bin/activate; . /tmp/venv/bin/activate;
pip install -r test/py/requirements.txt; pip install -r test/py/requirements.txt -r tools/binman/requirements.txt
pip install -r tools/binman/requirements.txt; -r tools/buildman/requirements.txt -r tools/patman/requirements.txt
pip install -r tools/buildman/requirements.txt; -r tools/u_boot_pylib/requirements.txt;
pip install -r tools/patman/requirements.txt;
pip install -r tools/u_boot_pylib/requirements.txt;
export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only; export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only;
export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"; export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"; export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
@ -212,12 +208,9 @@ Run pylint:
- git config --global --add safe.directory "${CI_PROJECT_DIR}" - git config --global --add safe.directory "${CI_PROJECT_DIR}"
- virtualenv -p /usr/bin/python3 /tmp/venv - virtualenv -p /usr/bin/python3 /tmp/venv
- . /tmp/venv/bin/activate - . /tmp/venv/bin/activate
- pip install -r test/py/requirements.txt - pip install -r test/py/requirements.txt -r tools/binman/requirements.txt
- pip install -r tools/binman/requirements.txt -r tools/buildman/requirements.txt -r tools/patman/requirements.txt
- pip install -r tools/buildman/requirements.txt -r tools/u_boot_pylib/requirements.txt asteval pylint==2.12.2 pyopenssl
- pip install -r tools/patman/requirements.txt
- pip install -r tools/u_boot_pylib/requirements.txt
- pip install asteval pylint==2.12.2 pyopenssl
- export PATH=${PATH}:~/.local/bin - export PATH=${PATH}:~/.local/bin
- echo "[MASTER]" >> .pylintrc - echo "[MASTER]" >> .pylintrc
- echo "load-plugins=pylint.extensions.docparams" >> .pylintrc - echo "load-plugins=pylint.extensions.docparams" >> .pylintrc