mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-28 02:58:18 +08:00
Integrate 'uv' installation across workflow files for improved package management
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user