Skip to content
CI/CD Inventory

galaxyproject/bioblend (opens in new tab)

3 workflows

Triggers

push pull_request

Jobs

Jobs for Deploy
Job Runs on Steps Actions used
build_packages ubuntu-latest 5
actions/checkout@v6 actions/setup-python@v6 actions/upload-artifact@v7
Upload release to PyPI ubuntu-latest 2
actions/download-artifact@v8 pypa/gh-action-pypi-publish@release/v1
Raw YAML
name: Deploy
on: [push, pull_request]
jobs:
  build_packages:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
        with:
          persist-credentials: false
      - uses: actions/setup-python@v6
        with:
          python-version: '3.14'
          cache: pip
      - name: Install tox
        run: |
          python3 -m pip install 'tox>=1.8.0'
      - name: Create and check sdist and wheel packages
        run: tox -e build
      - uses: actions/upload-artifact@v7
        with:
          name: packages
          path: dist/
  pypi-publish:
    needs: [build_packages]
    name: Upload release to PyPI
    runs-on: ubuntu-latest
    permissions:
      id-token: write
    if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') && github.repository_owner == 'galaxyproject'
    steps:
      - uses: actions/download-artifact@v8
        with:
          name: packages
          path: dist
      - name: Publish to PyPI
        uses: pypa/gh-action-pypi-publish@release/v1

Last fetched:

Triggers

push pull_request

Jobs

Jobs for Lint
Job Runs on Steps Actions used
lint ubuntu-latest 4
actions/checkout@v6 actions/setup-python@v6
Raw YAML
name: Lint
on: [push, pull_request]
concurrency:
  group: lint-${{ github.ref }}
  cancel-in-progress: true
jobs:
  lint:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ['3.10', '3.14']
    steps:
      - uses: actions/checkout@v6
        with:
          persist-credentials: false
      - uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.python-version }}
          allow-prereleases: true
          cache: pip
      - name: Install tox
        run: python -m pip install 'tox>=1.8.0'
      - name: Lint
        run: tox -e lint

Last fetched:

Triggers

push pull_request schedule

Jobs

Jobs for Tests
Job Runs on Steps Actions used
test ${{ matrix.os }} 8
actions/checkout@v6 actions/checkout@v6 actions/setup-python@v6 actions/setup-python@v6
Raw YAML
name: Tests
on:
  push:
  pull_request:
  schedule:
    # Run at midnight UTC every Tuesday
    - cron: '0 0 * * 2'
concurrency:
  group: test-${{ github.ref }}
  cancel-in-progress: true
jobs:
  test:
    if: github.event_name != 'schedule' || github.repository_owner == 'galaxyproject'
    runs-on: ${{ matrix.os }}
    services:
      postgres:
        image: postgres
        # 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:
        include:
          - os: ubuntu-latest
            tox_env: py310
            galaxy_version: dev
            galaxy_python_version: '3.10'
          - os: ubuntu-latest
            tox_env: py310
            galaxy_version: release_26.0
            galaxy_python_version: '3.10'
          - os: ubuntu-latest
            tox_env: py310
            galaxy_version: release_25.1
            galaxy_python_version: '3.9'
          - os: ubuntu-latest
            tox_env: py310
            galaxy_version: release_25.0
            galaxy_python_version: '3.9'
          - os: ubuntu-latest
            tox_env: py310
            galaxy_version: release_24.2
            galaxy_python_version: '3.8'
          - os: ubuntu-latest
            tox_env: py310
            galaxy_version: release_24.1
            galaxy_python_version: '3.8'
          - os: ubuntu-latest
            tox_env: py310
            galaxy_version: release_24.0
            galaxy_python_version: '3.8'
          # Python 3.7 is not available via setup-python on ubuntu >=24.04
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_23.2
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_23.1
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_23.0
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_22.05
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_22.01
            galaxy_python_version: '3.7'
          # The minimum Python supported version by the following releases is
          # 3.6, but it is EOL
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_21.09
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_21.05
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_21.01
            galaxy_python_version: '3.7'
          # The minimum Python supported version by the following releases is
          # 3.5, but it is EOL
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_20.09
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_20.05
            galaxy_python_version: '3.7'
          # The minimum Python supported version by the following releases is
          # 2.7, but it is EOL
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_20.01
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_19.09
            galaxy_python_version: '3.7'
          - os: ubuntu-22.04
            tox_env: py310
            galaxy_version: release_19.05
            galaxy_python_version: '3.7'
          - os: ubuntu-latest
            tox_env: py314
            galaxy_version: dev
            galaxy_python_version: '3.10'
          # Cannot test on macOS because service containers are not supported
          # yet: https://github.community/t/github-actions-services-available-on-others-vms/16916
          # - os: macos-latest
          #   tox_env: py310
          #   galaxy_version: dev
          #   galaxy_python_version: '3.10'
    steps:
      - uses: actions/checkout@v6
        with:
          persist-credentials: false
      - name: Checkout Galaxy
        uses: actions/checkout@v6
        with:
          repository: galaxyproject/galaxy
          ref: ${{ matrix.galaxy_version }}
          path: galaxy-${{ matrix.galaxy_version }}
          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 }}
          allow-prereleases: true
          cache: pip
      - name: Install tox
        run: |
          python3 -m pip install --upgrade pip setuptools
          python3 -m pip install 'tox>=1.8.0'
      - name: Set up Python for Galaxy
        uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.galaxy_python_version }}
          cache: pip
      - 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
          # Run ToolShed tests only once per Python version
          if [ "${{ matrix.galaxy_version }}" = 'dev' ]; then
              export BIOBLEND_TOOLSHED_URL=https://testtoolshed.g2.bx.psu.edu/
          fi
          # Install Galaxy
          export DATABASE_CONNECTION=postgresql://postgres:@localhost/galaxy
          ./run_bioblend_tests.sh -g galaxy-${{ matrix.galaxy_version }} -v python${{ matrix.galaxy_python_version }} -e ${{ matrix.tox_env }}
      - name: The job has failed
        if: ${{ failure() }}
        run: |
          cat galaxy-${{ matrix.galaxy_version }}/*.log

Last fetched: