mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-16 07:19:13 +08:00
Flip enable_notification_system, enable_sse_history_updates, and enable_sse_entry_point_updates in the Selenium, Playwright, and Integration Selenium workflows so the full UI test surface exercises the SSE pipeline. Revert before merging.
98 lines
3.4 KiB
YAML
98 lines
3.4 KiB
YAML
name: Integration Selenium
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- 'doc/**'
|
|
- 'packages/**'
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'doc/**'
|
|
- 'packages/**'
|
|
schedule:
|
|
# Run at midnight UTC every Tuesday
|
|
- cron: '0 0 * * 2'
|
|
env:
|
|
GALAXY_SKIP_CLIENT_BUILD: '0'
|
|
GALAXY_TEST_DBURI: 'postgresql+psycopg://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8'
|
|
GALAXY_TEST_RAISE_EXCEPTION_ON_HISTORYLESS_HDA: '1'
|
|
GALAXY_TEST_SELENIUM_RETRIES: 1
|
|
YARN_INSTALL_OPTS: --frozen-lockfile
|
|
GALAXY_CONFIG_SQLALCHEMY_WARN_20: '1'
|
|
GALAXY_DEPENDENCIES_INSTALL_WEASYPRINT: '1'
|
|
# TEMP: shake down SSE/notification system across full UI surface — revert before merge
|
|
GALAXY_CONFIG_OVERRIDE_ENABLE_NOTIFICATION_SYSTEM: '1'
|
|
GALAXY_CONFIG_OVERRIDE_ENABLE_SSE_HISTORY_UPDATES: '1'
|
|
GALAXY_CONFIG_OVERRIDE_ENABLE_SSE_ENTRY_POINT_UPDATES: '1'
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
setup-selenium:
|
|
uses: ./.github/workflows/setup_selenium.yaml
|
|
build-client:
|
|
uses: ./.github/workflows/build_client.yaml
|
|
test:
|
|
name: Test
|
|
needs: [setup-selenium, build-client]
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version: ['3.10']
|
|
services:
|
|
postgres:
|
|
image: postgres:18
|
|
env:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
POSTGRES_DB: postgres
|
|
ports:
|
|
- 5432:5432
|
|
steps:
|
|
- if: github.event_name == 'schedule'
|
|
run: |
|
|
echo "GALAXY_CONFIG_OVERRIDE_METADATA_STRATEGY=extended" >> $GITHUB_ENV
|
|
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
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
path: 'galaxy root'
|
|
persist-credentials: false
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v7
|
|
- 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 galaxy venv
|
|
uses: actions/cache@v5
|
|
with:
|
|
path: 'galaxy root/.venv'
|
|
key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-integration-selenium
|
|
- name: Restore client cache
|
|
uses: actions/cache@v5
|
|
with:
|
|
fail-on-cache-miss: true
|
|
key: galaxy-static-${{ needs.build-client.outputs.commit-id }}
|
|
path: 'galaxy root/static'
|
|
- name: Run tests
|
|
run: ./run_tests.sh --coverage -integration test/integration_selenium
|
|
working-directory: 'galaxy root'
|
|
- uses: codecov/codecov-action@v6
|
|
with:
|
|
flags: integration-selenium
|
|
working-directory: 'galaxy root'
|
|
- uses: actions/upload-artifact@v7
|
|
if: failure()
|
|
with:
|
|
name: Integration Selenium test results (${{ matrix.python-version }})
|
|
path: 'galaxy root/run_integration_tests.html'
|
|
- uses: actions/upload-artifact@v7
|
|
if: failure()
|
|
with:
|
|
name: Integration Selenium debug info (${{ matrix.python-version }})
|
|
path: 'galaxy root/database/test_errors'
|