]> git.madduck.net Git - etc/vim.git/blob - .vim/bundle/vim-lsp-ale/.github/workflows/ci.yml

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Do not set EDITOR/VISUAL for shell
[etc/vim.git] / .vim / bundle / vim-lsp-ale / .github / workflows / ci.yml
1 name: CI
2 on: [push, pull_request]
3
4 jobs:
5   vint:
6     name: Run vint
7     runs-on: ubuntu-latest
8     steps:
9       - uses: actions/checkout@v2
10       - uses: actions/setup-python@v2
11       - run: pip install vim-vint
12       - run: vint --warning --verbose --enable-neovim ./autoload ./plugin
13
14   unit-test:
15     name: Unit tests
16     strategy:
17       matrix:
18         os: [macos-latest, ubuntu-latest, windows-latest]
19         neovim: [true, false]
20       fail-fast: false
21     runs-on: ${{ matrix.os }}
22     steps:
23       - uses: actions/checkout@v2
24       - name: Checkout themis.vim
25         uses: actions/checkout@v2
26         with:
27           repository: thinca/vim-themis
28           path: vim-themis
29       - uses: rhysd/action-setup-vim@v1
30         id: vim
31         with:
32           neovim: ${{ matrix.neovim }}
33       - name: Run unit tests
34         env:
35           THEMIS_VIM: ${{ steps.vim.outputs.executable }}
36           THEMIS_PROFILE: profile.txt
37         run: ./vim-themis/bin/themis ./test/unit
38       - uses: actions/setup-python@v2
39         if: matrix.os != 'windows-latest'
40       - name: Report coverage
41         if: matrix.os != 'windows-latest'
42         run: |
43           # https://github.com/Vimjas/covimerage/issues/95
44           pip install 'click<8.0.0'
45           pip install covimerage
46           covimerage write_coverage profile.txt
47           coverage report
48           coverage xml
49       - name: Upload coverage to codecov
50         if: matrix.os != 'windows-latest'
51         uses: codecov/codecov-action@v1
52         with:
53           file: ./coverage.xml
54
55   integ-test:
56     name: Integration tests
57     strategy:
58       matrix:
59         neovim: [true, false]
60       fail-fast: false
61     runs-on: ubuntu-latest
62     steps:
63       - uses: actions/checkout@v2
64       - name: Checkout themis.vim
65         uses: actions/checkout@v2
66         with:
67           repository: thinca/vim-themis
68           path: vim-themis
69       - uses: rhysd/action-setup-vim@v1
70         id: vim
71         with:
72           neovim: ${{ matrix.neovim }}
73       - name: Checkout vim-lsp
74         uses: actions/checkout@v2
75         with:
76           repository: prabirshrestha/vim-lsp
77           path: test/integ/deps/vim-lsp
78       - name: Checkout ale
79         uses: actions/checkout@v2
80         with:
81           repository: dense-analysis/ale
82           path: test/integ/deps/ale
83       - name: Install rust-analyzer
84         run: |
85           mkdir ~/bin
86           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
87           gunzip ./rust-analyzer.gz
88           chmod +x ./rust-analyzer
89           mv ./rust-analyzer ~/bin
90           echo "$HOME/bin" >> $GITHUB_PATH
91       - name: Run integration tests
92         env:
93           THEMIS_VIM: ${{ steps.vim.outputs.executable }}
94         run: ./vim-themis/bin/themis ./test/integ
95       - name: Show runtime information
96         if: ${{ failure() }}
97         run: |
98           echo 'integ_messages.txt'
99           [ -f test/integ/integ_messages.txt ] && cat test/integ/integ_messages.txt
100           echo 'lsp-log.txt'
101           [ -f test/integ/lsp-log.txt ] && cat test/integ/lsp-log.txt