X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/fe3919e725e156d751069662d11e38f7b4791de1..5179925d63a908e267c6675e2a2e64bf30d3f727:/.vim/bundle/vim-lsp-ale/.github/workflows/ci.yml diff --git a/.vim/bundle/vim-lsp-ale/.github/workflows/ci.yml b/.vim/bundle/vim-lsp-ale/.github/workflows/ci.yml new file mode 100644 index 00000000..2e4e3a46 --- /dev/null +++ b/.vim/bundle/vim-lsp-ale/.github/workflows/ci.yml @@ -0,0 +1,101 @@ +name: CI +on: [push, pull_request] + +jobs: + vint: + name: Run vint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + - run: pip install vim-vint + - run: vint --warning --verbose --enable-neovim ./autoload ./plugin + + unit-test: + name: Unit tests + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + neovim: [true, false] + fail-fast: false + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + - name: Checkout themis.vim + uses: actions/checkout@v2 + with: + repository: thinca/vim-themis + path: vim-themis + - uses: rhysd/action-setup-vim@v1 + id: vim + with: + neovim: ${{ matrix.neovim }} + - name: Run unit tests + env: + THEMIS_VIM: ${{ steps.vim.outputs.executable }} + THEMIS_PROFILE: profile.txt + run: ./vim-themis/bin/themis ./test/unit + - uses: actions/setup-python@v2 + if: matrix.os != 'windows-latest' + - name: Report coverage + if: matrix.os != 'windows-latest' + run: | + # https://github.com/Vimjas/covimerage/issues/95 + pip install 'click<8.0.0' + pip install covimerage + covimerage write_coverage profile.txt + coverage report + coverage xml + - name: Upload coverage to codecov + if: matrix.os != 'windows-latest' + uses: codecov/codecov-action@v1 + with: + file: ./coverage.xml + + integ-test: + name: Integration tests + strategy: + matrix: + neovim: [true, false] + fail-fast: false + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Checkout themis.vim + uses: actions/checkout@v2 + with: + repository: thinca/vim-themis + path: vim-themis + - uses: rhysd/action-setup-vim@v1 + id: vim + with: + neovim: ${{ matrix.neovim }} + - name: Checkout vim-lsp + uses: actions/checkout@v2 + with: + repository: prabirshrestha/vim-lsp + path: test/integ/deps/vim-lsp + - name: Checkout ale + uses: actions/checkout@v2 + with: + repository: dense-analysis/ale + path: test/integ/deps/ale + - name: Install rust-analyzer + run: | + mkdir ~/bin + curl --fail -L https://github.com/rust-analyzer/rust-analyzer/releases/latest/download/rust-analyzer-x86_64-unknown-linux-gnu.gz -o rust-analyzer.gz + gunzip ./rust-analyzer.gz + chmod +x ./rust-analyzer + mv ./rust-analyzer ~/bin + echo "$HOME/bin" >> $GITHUB_PATH + - name: Run integration tests + env: + THEMIS_VIM: ${{ steps.vim.outputs.executable }} + run: ./vim-themis/bin/themis ./test/integ + - name: Show runtime information + if: ${{ failure() }} + run: | + echo 'integ_messages.txt' + [ -f test/integ/integ_messages.txt ] && cat test/integ/integ_messages.txt + echo 'lsp-log.txt' + [ -f test/integ/lsp-log.txt ] && cat test/integ/lsp-log.txt