name: 'Test' on: push: branches: - master paths-ignore: - '**.md' pull_request: paths-ignore: - '**.md' jobs: skipci: runs-on: ubuntu-18.04 outputs: is_skip: ${{ steps.is_skip.outputs.is_skip }} steps: - name: Set is_skip id: is_skip run: echo "::set-output name=is_skip::${{ contains(github.event.head_commit.message, '[skip ci]') }}" - run: echo "[skip ci] ${{ steps.is_skip.outputs.is_skip }}" test: runs-on: ${{ matrix.os }} needs: skipci if: ${{ ! needs.skipci.outputs.is_skip }} strategy: matrix: os: - 'ubuntu-20.04' - 'ubuntu-18.04' - 'ubuntu-16.04' - 'macos-latest' - 'windows-latest' steps: - uses: actions/checkout@v2 - name: Read .nvmrc run: echo "::set-output name=NVMRC::$(cat .nvmrc)" id: nvm - name: Setup Node uses: actions/setup-node@v2.0.0 with: node-version: '${{ steps.nvm.outputs.NVMRC }}' - run: npm i -g npm - run: npm ci - name: Run prettier if: startsWith(matrix.os, 'ubuntu-18.04') run: npm run format:check - name: Run eslint if: startsWith(matrix.os, 'ubuntu-18.04') run: npm run lint - name: Run ncc if: startsWith(matrix.os, 'ubuntu-18.04') run: npm run build - run: npm test - name: Upload test coverage as artifact uses: actions/upload-artifact@v2 with: name: coverage-${{ matrix.os }} path: coverage - uses: codecov/codecov-action@v1.0.7 with: token: ${{ secrets.CODECOV_TOKEN }}