name: Code Check & Test on: pull_request: branches: - master jobs: build: name: Build & Test strategy: matrix: # os: [macos-latest, ubuntu-latest, windows-latest] # CI windows have some issues, i'm not sure why os: [macos-latest, ubuntu-20.04] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Setup Node uses: actions/setup-node@v1 with: node-version: "12" - name: Install Neovim uses: rhysd/action-setup-vim@v1 id: vim with: neovim: true version: nightly - name: Yarn install run: yarn --silent --frozen-lockfile - name: Build run: yarn run test-compile - name: Webpack run: yarn run webpack - name: Lint run: yarn run lint - name: Test uses: GabrielBB/xvfb-action@v1.4 env: NEOVIM_PATH: ${{ steps.vim.outputs.executable }} NEOVIM_DEBUG: 1 NEOVIM_DEBUG_HOST: 127.0.0.1 NEOVIM_DEBUG_PORT: 4000 with: run: yarn run test create: name: Create extension runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Node uses: actions/setup-node@v1 with: node-version: "12" - name: Yarn install run: yarn --silent --frozen-lockfile - name: Install VSCE run: yarn add vsce - name: Create extension run: yarn run vsce package -o vscode-neovim-${{github.sha}}.vsix - name: Upload extension if: runner.os == 'Linux' uses: actions/upload-artifact@v2 with: name: vscode-neovim path: vscode-neovim-${{github.sha}}.vsix