gxwf Tool Shed search parity (tool-search, repo-search, tool-versions… #5391
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Toolshed tests | |
| on: | |
| push: | |
| paths-ignore: | |
| - 'doc/**' | |
| - 'lib/galaxy_test/selenium/**' | |
| - 'packages/**' | |
| pull_request: | |
| paths-ignore: | |
| - 'doc/**' | |
| - 'lib/galaxy_test/selenium/**' | |
| - 'packages/**' | |
| env: | |
| GALAXY_TEST_DBURI: 'postgresql+psycopg://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8' | |
| TOOL_SHED_TEST_DBURI: 'postgresql+psycopg://postgres:postgres@localhost:5432/toolshed?client_encoding=utf8' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.10', '3.14'] | |
| test-install-client: ['galaxy_api', 'standalone'] | |
| services: | |
| postgres: | |
| image: postgres:18 | |
| env: | |
| POSTGRES_USER: postgres | |
| POSTGRES_PASSWORD: postgres | |
| POSTGRES_DB: postgres | |
| ports: | |
| - 5432:5432 | |
| steps: | |
| - 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') }}-toolshed | |
| - name: Install dependencies | |
| run: ./scripts/common_startup.sh --dev-wheels --skip-client-build | |
| working-directory: 'galaxy root' | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v5 | |
| with: | |
| package_json_file: 'galaxy root/lib/tool_shed/webapp/frontend/package.json' | |
| - name: Build Frontend | |
| run: | | |
| . .venv/bin/activate | |
| cd lib/tool_shed/webapp/frontend | |
| pnpm install --frozen-lockfile | |
| make client | |
| working-directory: 'galaxy root' | |
| - name: Install playwright | |
| run: | | |
| . .venv/bin/activate | |
| playwright install | |
| working-directory: 'galaxy root' | |
| - name: Run tests | |
| run: ./run_tests.sh -toolshed | |
| env: | |
| TOOL_SHED_TEST_INSTALL_CLIENT: ${{ matrix.test-install-client }} | |
| working-directory: 'galaxy root' | |
| - uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: Toolshed test results (${{ matrix.python-version }}, ${{ matrix.test-install-client }}) | |
| path: 'galaxy root/run_toolshed_tests.html' |