Skip to content
CI/CD Inventory

galaxyproject/planemo (opens in new tab)

2 workflows

Triggers

push pull_request

Jobs

Jobs for Python CI
Job Runs on Steps Actions used
test ubuntu-latest 7
actions/checkout@v6 actions/setup-python@v6 astral-sh/setup-uv@v7
Raw YAML
name: Python CI
on: [push, pull_request]
env:
  PLANEMO_ENABLE_POSTGRES_TESTS: 1
  PLANEMO_SKIP_GALAXY_CWL_TESTS: 1
  PLANEMO_TEST_WORKFLOW_RUN_PROFILE: 1
  PGPASSWORD: postgres
  PGHOST: localhost
  GIT_AUTHOR_NAME: planemo
  GIT_AUTHOR_EMAIL: planemo@galaxyproject.org
  GIT_COMMITTER_NAME: planemo
  GIT_COMMITTER_EMAIL: planemo@galaxyproject.org
jobs:
  test:
    runs-on: ubuntu-latest
    timeout-minutes: 100
    strategy:
      fail-fast: false
      matrix:
        python-version: ['3.10']
        tox-action:
          - lint
          - lint_docs
          - mypy
          - unit-quick
          #- unit-diagnostic-servebasic
          #- unit-diagnostic-servebasic-gx-2005
          #- unit-diagnostic-servebasic-gx-master
          - unit-diagnostic-servebasic-gx-dev
          #- unit-diagnostic-servetraining
          #- unit-diagnostic-servecmd
          #- unit-diagnostic-trainingwfcmd
          - unit-nonredundant-noclientbuild-noshed-gx-231
          - unit-nonredundant-noclientbuild-noshed-gx-250
          - unit-nonredundant-noclientbuild-noshed-gx-dev
          - unit-nonredundant-noclientbuild-noshed-nogx
          - unit-diagnostic-serveclientcmd
        include:
          - python-version: '3.13'
            tox-action: lint
          - python-version: '3.13'
            tox-action: mypy
          - python-version: '3.13'
            tox-action: unit-quick
    services:
      postgres:
        image: postgres:16
        env:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: postgres
          POSTGRES_DB: postgres
        ports:
        - 5432:5432
        # needed because the postgres container does not provide a healthcheck
        options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
    steps:
      - uses: actions/checkout@v6
        with:
          persist-credentials: false
          submodules: true
      - uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install uv
        uses: astral-sh/setup-uv@v7
      - name: Test psql
        run: |
          psql --version  # Needs to be compatible with the postgres container image
          psql --tuples-only --username postgres -P pager=off --list
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip setuptools
          python -m pip install tox coveralls
      - name: Check system space
        run: |
          df
      - name: Test with tox
        run: |
          TOXENV=$(echo $TOXENV | sed 's/\.//') tox
        env:
          TOXENV: py${{ matrix.python-version }}-${{ matrix.tox-action }}

Last fetched:

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
          submodules: true
      - uses: actions/setup-python@v6
        with:
          python-version: '3.14'
          cache: pip
      - name: Install dependencies
        run: |
          python3 -m pip install --upgrade pip setuptools
          python3 -m pip install --upgrade build twine
      - name: Create and check packages
        run: make dist
      - 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: