From 6efd31883367c82977c6a6d7b8d1db78541409e9 Mon Sep 17 00:00:00 2001 From: JarbasAI <33701864+JarbasAl@users.noreply.github.com> Date: Fri, 6 Dec 2024 14:10:33 +0000 Subject: [PATCH] refactor:use uv to speedup workflows (#619) * refactor:use uv to speedup workflows * uv pip install --system * uv pip install --system * uv pip install --system --- .github/workflows/build_tests.yml | 7 +++--- .github/workflows/end2end_tests.yml | 30 ++++++++++++------------- .github/workflows/integration_tests.yml | 8 +++---- .github/workflows/license_tests.yml | 6 ++--- .github/workflows/mycroft_tests.yml | 6 ++--- .github/workflows/pipaudit.yml | 4 ++-- .github/workflows/unit_tests.yml | 8 +++---- 7 files changed, 34 insertions(+), 35 deletions(-) diff --git a/.github/workflows/build_tests.yml b/.github/workflows/build_tests.yml index 4bc177369915..9f2211ab0b79 100644 --- a/.github/workflows/build_tests.yml +++ b/.github/workflows/build_tests.yml @@ -16,7 +16,7 @@ jobs: strategy: max-parallel: 2 matrix: - python-version: [ 3.7, 3.8, 3.9, "3.10", "3.11" ] + python-version: [3.8, 3.9, "3.10", "3.11] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -26,12 +26,11 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install Build Tools run: | - python -m pip install build wheel + python -m pip install build wheel uv - name: Install System Dependencies run: | sudo apt-get update sudo apt install python3-dev swig libssl-dev libfann-dev portaudio19-dev libpulse-dev python3-fann2 - python -m pip install build wheel - name: Build Source Packages run: | python setup.py sdist @@ -40,4 +39,4 @@ jobs: python setup.py bdist_wheel - name: Install package run: | - pip install .[mycroft,lgpl,plugins,skills-essential,skills-extra,skills-audio,skills-gui,skills-internet,skills-media,skills-desktop] + uv pip install --system .[mycroft,lgpl,plugins,skills-essential,skills-extra,skills-audio,skills-gui,skills-internet,skills-media,skills-desktop] diff --git a/.github/workflows/end2end_tests.yml b/.github/workflows/end2end_tests.yml index e628d48bfac2..7cdb0f92d773 100644 --- a/.github/workflows/end2end_tests.yml +++ b/.github/workflows/end2end_tests.yml @@ -47,25 +47,25 @@ jobs: run: | sudo apt-get update sudo apt install python3-dev swig libssl-dev - python -m pip install build wheel + python -m pip install build wheel uv - name: Install test dependencies run: | - pip install -r requirements/tests.txt - pip install ./test/integrationtests/common_query/ovos_tskill_fakewiki - pip install ./test/end2end/skill-ovos-hello-world - pip install ./test/end2end/skill-ovos-fallback-unknown - pip install ./test/end2end/skill-ovos-slow-fallback - pip install ./test/end2end/skill-converse_test - pip install ./test/end2end/skill-ovos-schedule - pip install ./test/end2end/skill-new-stop - pip install ./test/end2end/skill-old-stop - pip install ./test/end2end/skill-fake-fm - pip install ./test/end2end/skill-fake-fm-legacy - pip install ./test/end2end/skill-ovos-fakewiki - pip install ./test/end2end/metadata-test-plugin + uv pip install --system -r requirements/tests.txt + uv pip install --system ./test/integrationtests/common_query/ovos_tskill_fakewiki + uv pip install --system ./test/end2end/skill-ovos-hello-world + uv pip install --system ./test/end2end/skill-ovos-fallback-unknown + uv pip install --system ./test/end2end/skill-ovos-slow-fallback + uv pip install --system ./test/end2end/skill-converse_test + uv pip install --system ./test/end2end/skill-ovos-schedule + uv pip install --system ./test/end2end/skill-new-stop + uv pip install --system ./test/end2end/skill-old-stop + uv pip install --system ./test/end2end/skill-fake-fm + uv pip install --system ./test/end2end/skill-fake-fm-legacy + uv pip install --system ./test/end2end/skill-ovos-fakewiki + uv pip install --system ./test/end2end/metadata-test-plugin - name: Install core repo run: | - pip install -e .[plugins] + uv pip install --system -e .[plugins] - name: Run end2end tests run: | pytest --cov-append --cov=ovos_core --cov-report xml test/end2end diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index fa08d58e625e..8fa958625334 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -34,14 +34,14 @@ jobs: run: | sudo apt-get update sudo apt install python3-dev swig - python -m pip install build wheel + python -m pip install build wheel uv - name: Install test dependencies run: | - pip install -r requirements/tests.txt - pip install ./test/integrationtests/common_query/ovos_tskill_fakewiki + uv pip install --system -r requirements/tests.txt + uv pip install --system ./test/integrationtests/common_query/ovos_tskill_fakewiki - name: Install core repo run: | - pip install -e .[plugins] + uv pip install --system -e .[plugins] - name: Run integration tests run: | pytest test/integrationtests diff --git a/.github/workflows/license_tests.yml b/.github/workflows/license_tests.yml index de35365f64ad..9c43092e303f 100644 --- a/.github/workflows/license_tests.yml +++ b/.github/workflows/license_tests.yml @@ -19,17 +19,17 @@ jobs: python-version: 3.8 - name: Install Build Tools run: | - python -m pip install build wheel + python -m pip install build wheel uv - name: Install System Dependencies run: | sudo apt-get update sudo apt install python3-dev swig libssl-dev libfann-dev portaudio19-dev libpulse-dev - name: Install core repo run: | - pip install .[mycroft,lgpl,skills-essential] + uv pip install --system .[mycroft,lgpl,skills-essential] - name: Get explicit and transitive dependencies run: | - pip freeze > requirements-all.txt + uv pip freeze > requirements-all.txt - name: Check python id: license_check_report uses: pilosus/action-pip-license-checker@v0.5.0 diff --git a/.github/workflows/mycroft_tests.yml b/.github/workflows/mycroft_tests.yml index 8bdb4a9434c9..3010b56d10bd 100644 --- a/.github/workflows/mycroft_tests.yml +++ b/.github/workflows/mycroft_tests.yml @@ -33,13 +33,13 @@ jobs: run: | sudo apt-get update sudo apt install python3-dev swig libssl-dev portaudio19-dev libpulse-dev - python -m pip install build wheel + python -m pip install build wheel uv - name: Install test dependencies run: | - pip install -r requirements/tests.txt + uv pip install --system -r requirements/tests.txt - name: Install core repo run: | - pip install -e .[mycroft,plugins,deprecated] + uv pip install --system -e .[mycroft,plugins,deprecated] - name: Run mycroft compat tests run: | pytest test/backwards_compat \ No newline at end of file diff --git a/.github/workflows/pipaudit.yml b/.github/workflows/pipaudit.yml index 4ea03af64266..de640a5e322d 100644 --- a/.github/workflows/pipaudit.yml +++ b/.github/workflows/pipaudit.yml @@ -21,14 +21,14 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install Build Tools run: | - python -m pip install build wheel + python -m pip install build wheel uv - name: Install System Dependencies run: | sudo apt-get update sudo apt install python3-dev swig libssl-dev - name: Install package run: | - pip install .[skills-essential] + uv pip install --system .[skills-essential] - uses: pypa/gh-action-pip-audit@v1.0.0 with: # Ignore setuptools vulnerability we can't do much about diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 427cf4196b0b..84fe6962f431 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -47,20 +47,20 @@ jobs: run: | sudo apt-get update sudo apt install python3-dev swig libssl-dev portaudio19-dev libpulse-dev - python -m pip install build wheel + python -m pip install build wheel uv - name: Install test dependencies run: | - pip install -r requirements/tests.txt + uv pip install --system -r requirements/tests.txt - name: Install core repo run: | - pip install -e .[mycroft,plugins] + uv pip install --system -e .[mycroft,plugins] - name: Run unittests run: | pytest --cov=ovos_core --cov-report xml test/unittests - name: Install padatious run: | sudo apt install libfann-dev - pip install .[lgpl] + uv pip install --system .[lgpl] - name: Run unittests with padatious run: | pytest --cov-append --cov=ovos_core --cov-report xml test/unittests