name: Linux Tests on: [push, pull_request] jobs: linuxtests: name: Linux strategy: matrix: group: [integrity, integrity2, docs, usage, docs2, python, nonode] python: [3.5, 3.8] exclude: - group: integrity python: 3.5 - group: integrity2 python: 3.5 - group: docs python: 3.5 - group: docs2 python: 3.5 - group: changelog 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