WIP: redesign "remote plugins", eliminate "host" concept #439
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
# Controls when the action will run. Triggers the workflow on push or pull request | |
# events but only for the master branch | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
# Set NVIM_NODE_LOG_FILE to exercise related codepaths. | |
NVIM_NODE_LOG_FILE: 'node-client.test.log' | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
node: ['14', '16', '18', '20'] | |
os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] | |
exclude: | |
- os: macos-latest | |
node: '14' | |
- os: macos-latest | |
node: '16' | |
- os: windows-latest | |
node: '14' | |
- os: windows-latest | |
node: '16' | |
include: | |
- os: ubuntu-latest | |
NIGHTLY: nvim-linux64.tar.gz | |
NVIM_BIN_PATH: nvim-linux64/bin | |
EXTRACT: tar xzf | |
- os: macos-latest | |
NIGHTLY: nvim-macos-x86_64.tar.gz | |
NVIM_BIN_PATH: nvim-macos-x86_64/bin | |
EXTRACT: tar xzf | |
- os: windows-latest | |
NIGHTLY: nvim-win64.zip | |
NVIM_BIN_PATH: nvim-win64/bin | |
EXTRACT: unzip | |
runs-on: ${{ matrix.os }} | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
cache: npm | |
node-version: ${{ matrix.node }} | |
- name: update npm (for node.js 14) | |
if: matrix.node == '14' | |
run: npm install -g 'npm@^8.8.0' | |
- name: install neovim | |
run: | | |
curl -LO 'https://github.com/neovim/neovim/releases/download/nightly/${{ matrix.NIGHTLY }}' | |
${{ matrix.EXTRACT }} ${{ matrix.NIGHTLY }} | |
echo '${{ runner.os }}' | |
- name: update path (bash) | |
if: runner.os != 'Windows' | |
run: echo "$(pwd)/${{ matrix.NVIM_BIN_PATH }}" >> $GITHUB_PATH | |
- name: update path (windows) | |
if: runner.os == 'Windows' | |
run: echo "$(pwd)/${{ matrix.NVIM_BIN_PATH }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
- name: install dependencies | |
run: npm ci | |
- name: build | |
run: npm run build | |
- name: lint | |
# Skip on old Node.js, devDependencies use newish JS features. | |
if: matrix.node != '14' | |
run: npm run lint | |
- name: test | |
run: | | |
echo $PATH | |
which nvim | |
nvim --version | |
npm run test-build --stream | |
- uses: codecov/codecov-action@v4 | |
if: matrix.node == '20' | |
with: | |
verbose: true # optional (default = false) |