name: Mulled Unit Tests on: push: paths-ignore: - 'client/**' - 'doc/**' - 'lib/galaxy_test/selenium/**' pull_request: paths-ignore: - 'client/**' - 'doc/**' - 'lib/galaxy_test/selenium/**' 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.8'] steps: - uses: actions/checkout@v4 with: path: 'galaxy root' - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - 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 pip dir uses: actions/cache@v4 with: path: ~/.cache/pip key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }} - name: Cache tox env uses: actions/cache@v4 with: path: .tox key: tox-cache-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('galaxy root/requirements.txt') }}-mulled - name: Install Apptainer's singularity uses: eWaterCycle/setup-apptainer@v2 - name: Install tox run: pip install tox - name: Run tests run: tox -e mulled working-directory: 'galaxy root' - uses: actions/upload-artifact@v4 if: failure() with: name: Mulled unit test results (${{ matrix.python-version }}) path: 'galaxy root/run_unit_tests.html'