name: Test on: [push, pull_request] jobs: linuxjs: name: JS strategy: matrix: group: [js-application, js-apputils, js-cells, js-codeeditor, js-codemirror, js-completer, js-console, js-coreutils, js-csvviewer, js-docmanager, js-docregistry, js-filebrowser, js-fileeditor, js-imageviewer, js-inspector, js-logconsole, js-mainmenu, js-nbformat, js-notebook, js-observables, js-outputarea, js-rendermime, js-services, js-settingregistry, js-statedb, js-statusbar, js-terminal, js-ui-components] fail-fast: false runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v1 with: python-version: 3.8 - name: Set up Node uses: actions/setup-node@v1 with: node-version: '12.x' - name: Cache pip on Linux uses: actions/cache@v1 if: startsWith(runner.os, 'Linux') with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ matrix.python }}-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip-${{ matrix.python }} # Cache yarn - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: Cache yarn uses: actions/cache@v1 id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Install dependencies env: GROUP: ${{ matrix.group }} run: | bash ./scripts/ci_install.sh - name: Run test ${{ matrix.group }} env: GROUP: ${{ matrix.group }} run: | bash ./scripts/ci_script.sh linuxtests: name: Linux strategy: matrix: group: [integrity, docs, python, usage, nonode] python: [3.5, 3.8] exclude: - group: integrity python: 3.5 - group: docs python: 3.5 fail-fast: false runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v1 with: python-version: ${{ matrix.python }} - name: Set up Node uses: actions/setup-node@v1 with: node-version: '12.x' - name: Cache pip on Linux uses: actions/cache@v1 if: startsWith(runner.os, 'Linux') with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ matrix.python }}-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip-${{ matrix.python }} # Cache yarn - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: Cache yarn uses: actions/cache@v1 id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Install dependencies env: GROUP: ${{ matrix.group }} run: | bash ./scripts/ci_install.sh - name: Run test ${{ matrix.group }} env: GROUP: ${{ matrix.group }} run: | bash ./scripts/ci_script.sh windowstests: name: Windows strategy: matrix: group: [javascript, python, integrity] fail-fast: false runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v1 with: python-version: 3.5 - name: Set up Node uses: actions/setup-node@v1 with: node-version: '12.x' - name: Cache pip on Windows uses: actions/cache@v1 if: startsWith(runner.os, 'Windows') with: path: ~\AppData\Local\pip\Cache key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- # Cache yarn - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: Cache yarn uses: actions/cache@v1 id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Enable long paths run: powershell Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1 - name: Upgrade pip run: python -m pip install -U pip - name: Install pip deps run: pip install --upgrade -e ".[test]" - name: List kernels run: jupyter kernelspec list - name: List jlpm versions run: jlpm versions - name: List jlpm config run: jlpm config current - name: Run test ${{ matrix.group }} env: NAME: ${{ matrix.group }} run: cmd /E:ON /V:ON /C .\\scripts\\appveyor.cmd