name: Linux Tests on: push: branches: [3.3.x] pull_request: branches: [3.3.x] release: types: [published] jobs: linuxtests: name: Linux strategy: matrix: group: [ integrity, integrity2, integrity3, release_test, docs, usage, usage2, splice_source, python, examples, interop, nonode, linkcheck, lint, ] # This will be used by the base setup action python-version: ['3.7', '3.10'] include: - group: release_test upload-output: true exclude: - group: integrity python-version: '3.7' - group: integrity2 python-version: '3.7' - group: integrity3 python-version: '3.7' - group: release_test python-version: '3.7' - group: docs python-version: '3.7' - group: usage python-version: '3.7' - group: usage2 python-version: '3.7' - group: linkcheck python-version: '3.7' - group: nonode python-version: '3.7' - group: lint python-version: '3.7' - group: examples python-version: '3.7' - group: splice_source python-version: '3.7' fail-fast: false timeout-minutes: 45 runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 - name: Base Setup uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Setup firefox uses: browser-actions/setup-firefox@latest - name: Install dependencies env: GROUP: ${{ matrix.group }} run: | bash ./scripts/ci_install.sh - name: Run test ${{ matrix.group }} env: GROUP: ${{ matrix.group }} JLAB_BROWSER_TYPE: firefox run: | bash ./scripts/ci_script.sh - name: Upload ${{ matrix.group }} results if: ${{ matrix.upload-output && always() }} uses: actions/upload-artifact@v2 with: name: ${{ matrix.group }} ${{ github.run_number }} path: ./build/${{ matrix.group }}_output make_sdist: name: Make SDist runs-on: ubuntu-latest timeout-minutes: 20 steps: - uses: actions/checkout@v2 - name: Base Setup uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Install dependencies run: | bash ./scripts/ci_install.sh - name: Build SDist run: | pip install build python -m build --sdist - uses: actions/upload-artifact@v2 with: name: "sdist" path: dist/*.tar.gz test_sdist: runs-on: ubuntu-latest needs: [make_sdist] name: Install from SDist and Test timeout-minutes: 20 steps: - name: Base Setup uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Download sdist uses: actions/download-artifact@v2 - name: Install From SDist run: | set -ex cd sdist mkdir test tar --strip-components=1 -zxvf *.tar.gz -C ./test cd test pip install -e .[test] pip install pytest-github-actions-annotate-failures - name: Run Test run: | cd sdist/test pytest -vv || pytest -vv --lf pre-commit: runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v2 - name: Base Setup uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Install Jupyterlab run: pip install -e . - uses: pre-commit/action@v2.0.0