diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml index 4e4fb235..59266318 100644 --- a/.github/workflows/pr_check.yml +++ b/.github/workflows/pr_check.yml @@ -1,13 +1,22 @@ name: Pull request check on: - pull_request: + push: + # pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: + tests_foo: + uses: ./.github/workflows/tests.yml + with: + matrix: | + [ + {"rev": "nightly/nvim-linux64.tar.gz"}, + {"rev": "v0.9.2/nvim-linux64.tar.gz"} + ] tests: name: unit tests runs-on: ubuntu-22.04 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..9a3e4f92 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,38 @@ +name: Run tests + +on: + workflow_call: + inputs: + matrix: + required: true + type: string + +jobs: + tests: + name: unit tests + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + include: ${{ fromJson(inputs.matrix) }} + steps: + - uses: actions/checkout@v3 + - run: date +%F > todays-date + - name: Restore cache for today's nightly. + uses: actions/cache@v3 + with: + path: _neovim + key: ${{ matrix.rev }}-${{ hashFiles('todays-date') }} + - name: Prepare + run: | + test -d _neovim || { + mkdir -p _neovim + curl -sL "https://github.com/neovim/neovim/releases/download/${{ matrix.rev }}" | tar xzf - --strip-components=1 -C "${PWD}/_neovim" + } + + - name: Run tests + run: | + export PATH="${PWD}/_neovim/bin:${PATH}" + export VIM="${PWD}/_neovim/share/nvim/runtime" + nvim --version + make test