name: Dev on: push: branches: - master pull_request: branches: - master jobs: test: if: github.event.pull_request.draft == false timeout-minutes: 60 runs-on: ubuntu-latest strategy: fail-fast: false matrix: node: - "16" - "14" nvim: - "0.7.0" include: # only enable coverage on the fastest job - node: "16" ENABLE_CODE_COVERAGE: true env: NODE_ENV: test steps: - name: Checkout uses: actions/checkout@v2.3.4 with: fetch-depth: 2 - name: Setup Node.js ${{ matrix.node }} uses: actions/setup-node@v2.4.0 with: node-version: ${{ matrix.node }} cache: "yarn" - name: Setup python3 uses: actions/setup-python@v2 with: python-version: '3.9' cache: 'pip' - run: pip install pynvim - name: Install Dependencies run: | yarn global add typescript yarn install --frozen-lockfile - name: Setup nvim ${{ matrix.nvim }} run: | sudo apt-get install -y xclip ripgrep ctags xclip -version rg --version ctags --version curl -LO https://github.com/neovim/neovim/releases/download/v${{ matrix.nvim }}/nvim-linux64.tar.gz tar xzf nvim-linux64.tar.gz export PATH="${PATH}:node_modules/.bin:$(pwd)/nvim-linux64/bin" nvim --version yarn test-build --maxWorkers=2 - name: Codecov uses: codecov/codecov-action@v1 if: ${{ matrix.ENABLE_CODE_COVERAGE }} with: fail_ci_if_error: true