--- /dev/null
+name: linux_vim
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+env:
+ VIM_LSP_GO_VERSION: '1.17'
+ VIM_LSP_GOPLS_VERSION: '0.7.3'
+ VIM_LSP_GOPLS_CACHE_VER: 1
+
+jobs:
+ build:
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest]
+ name: [vim-v90-x64, vim-v82-x64, vim-v81-x64]
+ include:
+ - name: vim-v90-x64
+ os: ubuntu-latest
+ vim_version: 9.0.0250
+ glibc_version: 2.15
+ - name: vim-v82-x64
+ os: ubuntu-latest
+ vim_version: 8.2.0813
+ glibc_version: 2.15
+ - name: vim-v81-x64
+ os: ubuntu-latest
+ vim_version: 8.1.2414
+ glibc_version: 2.15
+ runs-on: ${{matrix.os}}
+ steps:
+ - name: Install dependencies
+ shell: bash
+ run: |
+ # https://github.com/Zettlr/Zettlr/issues/3517
+ sudo apt-get install libfuse2
+ - uses: actions/checkout@v4
+ - name: Download vim
+ shell: bash
+ run: |
+ mkdir -p ~/vim/bin
+ curl -L https://github.com/vim/vim-appimage/releases/download/v${{matrix.vim_version}}/GVim-v${{matrix.vim_version}}.glibc${{matrix.glibc_version}}-x86_64.AppImage -o ~/vim/bin/vim
+ chmod u+x ~/vim/bin/vim
+ - name: Cache gopls
+ id: cache-gopls
+ uses: actions/cache@v4
+ with:
+ path: bin/gopls
+ key: ${{ runner.os }}-${{ env.VIM_LSP_GO_VERSION }}-${{ env.VIM_LSP_GOPLS_VERSION }}-${{ env.VIM_LSP_GOPLS_CACHE_VER }}-gopls
+ - name: Install Go for gopls
+ if: steps.cache-gopls.outputs.cache-hit != 'true'
+ uses: actions/setup-go@v5
+ with:
+ go-version: ${{ env.VIM_LSP_GO_VERSION }}
+ - name: Install gopls
+ if: steps.cache-gopls.outputs.cache-hit != 'true'
+ shell: bash
+ run: |
+ go install golang.org/x/tools/gopls@v${{ env.VIM_LSP_GOPLS_VERSION }}
+ gopls version
+ mkdir bin
+ mv "$(which gopls)" ./bin/
+ env:
+ GO111MODULE: 'on'
+ - name: Download test runner
+ uses: actions/checkout@v4
+ with:
+ repository: thinca/vim-themis
+ path: ./vim-themis
+ ref: v1.5.5
+ - name: Run tests
+ shell: bash
+ run: |
+ export PATH=~/vim/bin:$PATH
+ export PATH=./vim-themis/bin:$PATH
+ export PATH=./bin:$PATH
+ export THEMIS_VIM=vim
+ # https://github.com/project-slippi/Ishiiruka/issues/323
+ # It was needed to detect the actual path of `libgmodule` via `ldconfig -p | grep libg`.
+ LD_PRELOAD=/lib/x86_64-linux-gnu/libgmodule-2.0.so vim --version
+ LD_PRELOAD=/lib/x86_64-linux-gnu/libgmodule-2.0.so themis
+