Files
galaxy/.github/workflows/integration.yaml
T
dependabot[bot] 6cdc2ace8a Bump the actions group across 1 directory with 6 updates
Bumps the actions group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `7.0.0` | `7.0.1` |
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `8.3.2` | `9.0.0` |
| [docker/login-action](https://github.com/docker/login-action) | `4.4.0` | `4.6.0` |
| [actions/setup-python](https://github.com/actions/setup-python) | `6.3.0` | `7.0.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.37.1` | `4.37.6` |
| [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) | `0.6.0` | `0.6.2` |



Updates `actions/checkout` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v7...v7.0.1)

Updates `astral-sh/setup-uv` from 8.3.2 to 9.0.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v8.3.2...v9.0.0)

Updates `docker/login-action` from 4.4.0 to 4.6.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v4.4.0...v4.6.0)

Updates `actions/setup-python` from 6.3.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6.3.0...v7.0.0)

Updates `github/codeql-action` from 4.37.1 to 4.37.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.37.1...v4.37.6)

Updates `zizmorcore/zizmor-action` from 0.6.0 to 0.6.2
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](https://github.com/zizmorcore/zizmor-action/compare/6599ee8b7a49aef6a770f63d261d214911a7ce02...3dc1ecc9bcb9e94e9b2c709687979e1298497054)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/setup-python
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: docker/login-action
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: github/codeql-action
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-13 16:30:58 +00:00

151 lines
5.9 KiB
YAML

name: Integration
on:
push:
paths-ignore:
- 'client/**'
- 'doc/**'
- 'lib/galaxy_test/selenium/**'
- 'packages/**'
pull_request:
paths-ignore:
- 'client/**'
- 'doc/**'
- 'lib/galaxy_test/selenium/**'
- 'packages/**'
schedule:
# Run at midnight UTC every Tuesday
- cron: '0 0 * * 2'
workflow_dispatch:
env:
GALAXY_TEST_RAISE_EXCEPTION_ON_HISTORYLESS_HDA: '1'
GALAXY_CONFIG_SQLALCHEMY_WARN_20: '1'
GALAXY_DEPENDENCIES_INSTALL_WEASYPRINT: '1'
GALAXY_DEPENDENCIES_INSTALL_HTCONDOR: '1'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
jobs:
prepare-mulled-cache:
name: Prepare mulled resolution cache
runs-on: ubuntu-latest
steps:
- name: Select weekly cache
run: echo "MULLED_CACHE_WEEK=$(date -u +%G-%V)" >> "$GITHUB_ENV"
- name: Restore Biocontainers repository index
id: restore-mulled-cache
uses: actions/cache/restore@v6.1.0
with:
key: biocontainers-repository-index-${{ env.MULLED_CACHE_WEEK }}
path: '${{ runner.temp }}/mulled-resolution-seed'
- name: Check out Galaxy for mulled-cache
if: steps.restore-mulled-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v7.0.1
with:
path: 'galaxy cache source'
persist-credentials: false
- name: Install uv
if: steps.restore-mulled-cache.outputs.cache-hit != 'true'
uses: astral-sh/setup-uv@v9.0.0
with:
python-version: '3.10'
- name: Fetch Biocontainers repository index
id: fetch-mulled-cache
if: steps.restore-mulled-cache.outputs.cache-hit != 'true'
continue-on-error: true
env:
SEED_DIRECTORY: '${{ runner.temp }}/mulled-resolution-seed'
run: |
uv tool run --from './galaxy cache source/packages/tool_util' mulled-cache \
--namespace biocontainers \
--output "$SEED_DIRECTORY/biocontainers.json"
- name: Save Biocontainers repository index
if: steps.restore-mulled-cache.outputs.cache-hit != 'true' && steps.fetch-mulled-cache.outcome == 'success'
uses: actions/cache/save@v6.1.0
with:
key: biocontainers-repository-index-${{ env.MULLED_CACHE_WEEK }}
path: '${{ runner.temp }}/mulled-resolution-seed'
- name: Create fallback seed
if: steps.fetch-mulled-cache.outcome == 'failure'
env:
SEED_DIRECTORY: '${{ runner.temp }}/mulled-resolution-seed'
run: |
echo '::warning::Could not index the biocontainers namespace, integration tests run without a seeded mulled resolution cache'
mkdir -p "$SEED_DIRECTORY"
echo '{"namespace":"biocontainers","repositories":[]}' > "$SEED_DIRECTORY/biocontainers.json"
- name: Upload mulled resolution cache seed
uses: actions/upload-artifact@v7
with:
name: mulled-resolution-cache-seed
path: '${{ runner.temp }}/mulled-resolution-seed/biocontainers.json'
retention-days: 1
test:
name: Test
needs: prepare-mulled-cache
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10']
chunk: ['0', '1', '2', '3']
steps:
- if: github.event_name == 'schedule'
run: |
echo "GALAXY_CONFIG_OVERRIDE_METADATA_STRATEGY=extended" >> $GITHUB_ENV
# --cov=lib line-traces a live Galaxy for the whole job, so integration
# coverage is collected on this weekly run only.
echo "GALAXY_TEST_COVERAGE=1" >> $GITHUB_ENV
# Skip outputs_to_working_directory: true in integration tests, doesn't work with pulsar
# echo "GALAXY_CONFIG_OVERRIDE_OUTPUTS_TO_WORKING_DIRECTORY=true" >> $GITHUB_ENV
- name: Prune unused docker image, volumes and containers
run: docker system prune -a -f
- name: Clean dotnet folder for space
run: rm -Rf /usr/share/dotnet
- name: Install packages
# ffmpeg: ffprobe needed by media datatypes
run: sudo apt-get update && sudo apt-get -y install ffmpeg
- name: Setup Minikube
uses: medyagh/setup-minikube@latest
with:
driver: none
kubernetes-version: '1.28.0'
- name: Check pods
run: kubectl get pods -A
- uses: actions/checkout@v7.0.1
with:
path: 'galaxy root'
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@v9.0.0
with:
python-version: ${{ matrix.python-version }}
- name: Install Python
run: uv python install
- name: Download mulled resolution cache seed
uses: actions/download-artifact@v8
with:
name: mulled-resolution-cache-seed
path: '${{ runner.temp }}/mulled-resolution-seed'
- name: Install Apptainer's singularity
uses: './galaxy root/.github/actions/install_apptainer'
- name: Run tests
env:
GALAXY_TEST_MULLED_RESOLUTION_CACHE_SEED: '${{ runner.temp }}/mulled-resolution-seed/biocontainers.json'
GALAXY_CONFIG_OVERRIDE_MULLED_RESOLUTION_CACHE_DATA_DIR: '${{ runner.temp }}/mulled-resolution-cache/data'
GALAXY_CONFIG_OVERRIDE_MULLED_RESOLUTION_CACHE_LOCK_DIR: '${{ runner.temp }}/mulled-resolution-cache/locks'
run: |
. .ci/minikube-test-setup/start_services.sh
./run_tests.sh -integration test/integration -- --num-shards=4 --shard-id=${{ matrix.chunk }}
working-directory: 'galaxy root'
- uses: codecov/codecov-action@v7.0.0
if: github.event_name == 'schedule'
with:
flags: integration
working-directory: 'galaxy root'
- uses: actions/upload-artifact@v7
if: failure()
with:
name: Integration test results (${{ matrix.python-version }}, ${{ matrix.chunk }})
path: 'galaxy root/run_integration_tests.html'