Introduce vertical split mode for executors #1071
Workflow file for this run
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 | |
on: | |
# Trigger the workflow on push or pull request, | |
# but only for the main branch | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
changes: | |
runs-on: ubuntu-latest | |
outputs: | |
paths: ${{ steps.filter.outputs.paths }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: | | |
paths: | |
- '.github/workflows/ci.yml' | |
- 'after/**' | |
- 'autoload/**' | |
- 'plugin/**' | |
- 'test/**' | |
tests: | |
name: '${{ matrix.vim_type }} ${{ matrix.vim_version }} on ${{ matrix.platform }} with cmake ${{ matrix.cmake_version }}' | |
needs: | |
- changes | |
if: ${{ needs.changes.outputs.paths == 'true' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
vim_type: ['Vim', 'Neovim'] | |
vim_version: ['stable'] | |
cmake_version: ['3.0.x', ''] # empty means the latest version | |
platform: ['Linux', 'MacOS', 'Windows'] | |
include: | |
- platform: 'Linux' | |
os: 'ubuntu-latest' | |
- platform: 'MacOS' | |
os: 'macos-latest' | |
- platform: 'Windows' | |
os: 'windows-latest' | |
- vim_type: 'Vim' | |
nvim: false | |
vim_executable: vim | |
- vim_type: 'Neovim' | |
nvim: true | |
vim_executable: nvim | |
runs-on: '${{ matrix.os }}' | |
timeout-minutes: 25 | |
steps: | |
- name: Clone CMake4Vim | |
uses: actions/checkout@v4 | |
- name: Setup python modules | |
uses: actions/setup-python@master | |
with: | |
python-version: 3.7 | |
- name: Install covimerage | |
run: | | |
pip3 install 'click<8.0.0' | |
pip3 install covimerage | |
pip3 install coveralls | |
- name: Install vim | |
uses: rhysd/action-setup-vim@v1 | |
with: | |
neovim: ${{ matrix.nvim }} | |
version: ${{ matrix.vim_version }} | |
- name: Install cmake | |
uses: jwlawson/actions-setup-cmake@master | |
with: | |
cmake-version: ${{ matrix.cmake_version }} | |
- name: Check cmake | |
run: | | |
which cmake | |
cmake --version | |
- name: Setup Ninja | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Check Ninja | |
run: | | |
which ninja | |
ninja --version | |
- name: Run tests | |
run: | | |
python test/local_run.py --profile --editor ${{ matrix.vim_executable }} --out_dir . | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage | |
path: ./*.xml | |
if-no-files-found: error | |
Report: | |
runs-on: ubuntu-latest | |
needs: [tests] | |
if: ${{ needs.changes.outputs.paths == 'true' }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: coverage | |
path: ./cov_report | |
- name: Upload coverage to Codecov | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
run: | | |
bash <(curl -s https://codecov.io/bash) $(echo \ `ls -d ./cov_report/*` | sed -r 's/ / -f /g') -Z |