mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-29 17:42:12 +08:00
78 lines
2.5 KiB
YAML
78 lines
2.5 KiB
YAML
name: BioBlend Tests
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- .github/workflows/bioblend.yaml
|
|
- lib/galaxy/schema/**
|
|
- lib/galaxy/webapps/galaxy/api/**
|
|
- lib/galaxy/webapps/galaxy/services/**
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
services:
|
|
postgres:
|
|
image: postgres:17
|
|
# Provide the password for postgres
|
|
env:
|
|
POSTGRES_PASSWORD: postgres
|
|
# Set health checks to wait until postgres has started
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
ports:
|
|
- 5432:5432
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
tox_env: [py314]
|
|
galaxy_python_version: ['3.10']
|
|
steps:
|
|
- name: Checkout Galaxy
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 1
|
|
path: galaxy
|
|
persist-credentials: false
|
|
- name: Checkout Bioblend
|
|
uses: actions/checkout@v6
|
|
with:
|
|
repository: galaxyproject/bioblend
|
|
path: bioblend
|
|
persist-credentials: false
|
|
- 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
|
|
- name: Set up Python for BioBlend
|
|
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@v7
|
|
- name: Install tox
|
|
run: uv tool install tox --with tox-uv
|
|
- name: Set up Python for Galaxy
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: ${{ matrix.galaxy_python_version }}
|
|
- name: Run tests
|
|
env:
|
|
PGPASSWORD: postgres
|
|
PGPORT: 5432
|
|
PGHOST: localhost
|
|
run: |
|
|
# Create a PostgreSQL database for Galaxy. The default SQLite3 database makes test fail randomly because of "database locked" error.
|
|
createdb -U postgres galaxy
|
|
export DATABASE_CONNECTION=postgresql://postgres:@localhost/galaxy
|
|
./bioblend/run_bioblend_tests.sh -g galaxy -v python${{ matrix.galaxy_python_version }} -e ${{ matrix.tox_env }}
|
|
- name: The job has failed
|
|
if: ${{ failure() }}
|
|
run: |
|
|
cat galaxy/*.log
|