Integrate 'uv' installation across workflow files for improved package management

This commit is contained in:
Arash
2025-10-29 12:45:43 +00:00
committed by Nicola Soranzo
parent 2409312f8c
commit 20aeb20734
27 changed files with 69 additions and 101 deletions
+2 -2
View File
@@ -54,8 +54,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+3 -8
View File
@@ -46,11 +46,6 @@ jobs:
repository: galaxyproject/bioblend
path: bioblend
persist-credentials: false
- name: Cache pip dir
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: pip-cache-${{ matrix.tox_env }}
- name: Calculate Python version for BioBlend from tox_env
id: get_bioblend_python_version
run: echo "bioblend_python_version=$(echo "${{ matrix.tox_env }}" | sed -e 's/^py\([3-9]\)\([0-9]\+\)/\1.\2/')" >> $GITHUB_OUTPUT
@@ -58,10 +53,10 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: ${{ steps.get_bioblend_python_version.outputs.bioblend_python_version }}
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install tox
run: |
python3 -m pip install --upgrade pip setuptools
python3 -m pip install 'tox>=1.8.0'
run: uv tool install tox --with tox-uv
- name: Set up Python for Galaxy
uses: actions/setup-python@v6
with:
@@ -22,9 +22,9 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install Python dependencies
run: pip install -r requirements.txt -r lib/galaxy/dependencies/pinned-test-requirements.txt
run: uv pip install --system -r requirements.txt -r lib/galaxy/dependencies/pinned-test-requirements.txt
- name: Run tests
run: .ci/check_test_class_names.sh
+3 -3
View File
@@ -43,12 +43,12 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Move test data
run: rsync -av --remove-source-files --exclude .git galaxy-test-data/ 'galaxy root/test-data/'
- name: Install planemo
run: pip install planemo
run: uv pip install --system planemo
- name: Determine converters to check
run: |
ls 'galaxy root'/lib/galaxy/datatypes/converters/*xml | grep -v -f 'galaxy root'/lib/galaxy/datatypes/converters/.tt_skip > tool_list.txt
+2 -2
View File
@@ -46,8 +46,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+3 -8
View File
@@ -48,19 +48,14 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT
- name: Cache tox env
uses: actions/cache@v4
with:
path: .tox
key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-check-indexes
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: Set database connection on PostgreSQL
if: matrix.db == 'postgresql'
run: echo 'GALAXY_CONFIG_OVERRIDE_DATABASE_CONNECTION=postgresql://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' >> $GITHUB_ENV
+2
View File
@@ -15,6 +15,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: '3.9'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Update dependencies
run: make update-dependencies
- name: Create pull request
+2 -2
View File
@@ -38,8 +38,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- uses: nanasess/setup-chromedriver@v2
- name: Run tests
run: bash ./test/deployment/usegalaxystar.bash
+4 -4
View File
@@ -35,10 +35,10 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install Python dependencies
run: pip install -r requirements.txt -r lib/galaxy/dependencies/dev-requirements.txt sphinxcontrib-simpleversioning
run: uv pip install --system -r requirements.txt -r lib/galaxy/dependencies/dev-requirements.txt sphinxcontrib-simpleversioning
- name: Add Google Analytics to doc/source/conf.py
run: |
sed -i -e "/html_theme_options = {/a\
@@ -73,5 +73,5 @@ jobs:
exit 0
;;
esac
pip install awscli
uv pip install --system awscli
aws s3 sync doc/build/html/ "s3://galaxy-docs/en/$UPLOAD_DIR" --region us-east-2 --size-only --delete
+3 -8
View File
@@ -38,24 +38,19 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT
- name: Cache tox env
uses: actions/cache@v4
with:
path: .tox
key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-first-startup
- name: Restore client cache
uses: actions/cache@v4
with:
key: galaxy-static-${{ needs.build-client.outputs.commit-id }}
path: 'galaxy root/static'
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: run tests
run: tox -e first_startup
working-directory: 'galaxy root'
+2 -2
View File
@@ -49,8 +49,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+2 -2
View File
@@ -50,8 +50,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+2 -2
View File
@@ -58,8 +58,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+2 -2
View File
@@ -57,8 +57,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+3 -11
View File
@@ -34,22 +34,14 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: |
${{ env.LINT_PATH }}
${{ env.TYPE_PATH }}
${{ env.CORE_PATH }}
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT
- name: Cache tox env
uses: actions/cache@v4
with:
path: .tox
key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles(env.LINT_PATH, env.TYPE_PATH, env.CORE_PATH) }}-lint
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: Run linting
run: tox -e lint
- name: Run docstring linting
+2 -2
View File
@@ -42,8 +42,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+3 -8
View File
@@ -31,21 +31,16 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT
- name: Cache tox env
uses: actions/cache@v4
with:
path: .tox
key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-mulled
- name: Install Apptainer's singularity
uses: eWaterCycle/setup-apptainer@v2
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: Run tests
run: tox -e mulled
working-directory: 'galaxy root'
+3 -6
View File
@@ -32,11 +32,6 @@ jobs:
with:
path: 'galaxy root'
persist-credentials: false
- name: Cache pip dir
uses: actions/cache@v4
with:
path: ~/Library/Caches/pip
key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }}
- name: Install miniforge # use this job to test using Python from a conda environment
uses: conda-incubator/setup-miniconda@v3
with:
@@ -47,8 +42,10 @@ jobs:
with:
key: galaxy-static-${{ needs.build-client.outputs.commit-id }}
path: 'galaxy root/static'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: Run tests
run: tox -e first_startup
working-directory: 'galaxy root'
+2 -2
View File
@@ -48,8 +48,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+3 -1
View File
@@ -17,8 +17,10 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install script dependencies
run: pip install galaxy-release-util
run: uv pip install --system galaxy-release-util
- name: Build and publish to PyPI
run: |
galaxy-release-util build-and-upload --no-confirm
+3 -3
View File
@@ -33,8 +33,8 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
@@ -45,7 +45,7 @@ jobs:
path: 'galaxy root/.venv'
key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-reports-startup
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: Run tests
run: tox -e reports_startup
working-directory: 'galaxy root'
+2 -2
View File
@@ -57,8 +57,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+3 -3
View File
@@ -27,12 +27,12 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install ffmpeg
run: sudo apt-get update && sudo apt-get -y install ffmpeg
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: Run tests
run: tox -e test_galaxy_packages
working-directory: 'galaxy root'
@@ -29,14 +29,14 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install Apptainer's singularity
uses: eWaterCycle/setup-apptainer@v2
- name: Install ffmpeg
run: sudo apt-get update && sudo apt-get -y install ffmpeg
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: Run tests
run: tox -e test_galaxy_packages_for_pulsar
working-directory: 'galaxy root'
+2 -2
View File
@@ -43,8 +43,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+2 -2
View File
@@ -42,8 +42,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
+3 -8
View File
@@ -31,21 +31,16 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'galaxy root/requirements.txt'
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Get full Python version
id: full-python-version
shell: bash
run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT
- name: Cache tox env
uses: actions/cache@v4
with:
path: .tox
key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-unit
- name: Install ffmpeg
run: sudo apt-get update && sudo apt-get -y install ffmpeg
- name: Install tox
run: pip install tox
run: uv tool install tox --with tox-uv
- name: Run tests
run: tox -e unit-coverage
working-directory: 'galaxy root'