mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-16 15:45:04 +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: Selenium tests
|
|
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_CONFIG_GALAXY_URL_PREFIX: '/galaxypf'
|
|
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
|
|
GALAXY_TEST_SKIP_FLAKEY_TESTS_ON_ERROR: 1
|
|
YARN_INSTALL_OPTS: --frozen-lockfile
|
|
GALAXY_CONFIG_SQLALCHEMY_WARN_20: '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:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: ['3.10']
|
|
chunk: [0, 1, 2]
|
|
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
|
|
- 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') }}-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 -selenium lib/galaxy_test/selenium -- --num-shards=3 --shard-id=${{ matrix.chunk }}
|
|
working-directory: 'galaxy root'
|
|
- uses: codecov/codecov-action@v6
|
|
with:
|
|
flags: selenium
|
|
working-directory: 'galaxy root'
|
|
- uses: actions/upload-artifact@v7
|
|
if: failure()
|
|
with:
|
|
name: Selenium test results (${{ matrix.python-version }}, ${{ matrix.chunk }})
|
|
path: 'galaxy root/run_selenium_tests.html'
|
|
- uses: actions/upload-artifact@v7
|
|
if: failure()
|
|
with:
|
|
name: Selenium debug info (${{ matrix.python-version }}, ${{ matrix.chunk }})
|
|
path: 'galaxy root/database/test_errors'
|