name: windows_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: [windows-latest] name: [vim-v90-x64, vim-v82-x64, vim-v81-x64, vim-v80-x64] include: - name: vim-v90-x64 os: windows-latest vim_version: 9.0.0000 vim_arch: x64 vim_ver_path: vim90 - name: vim-v82-x64 os: windows-latest vim_version: 8.2.0813 vim_arch: x64 vim_ver_path: vim82 - name: vim-v81-x64 os: windows-latest vim_version: 8.1.2414 vim_arch: x64 vim_ver_path: vim81 - name: vim-v80-x64 os: windows-latest vim_version: 8.0.1567 vim_arch: x64 vim_ver_path: vim80 runs-on: ${{matrix.os}} steps: - uses: actions/checkout@v4 - name: Download vim shell: PowerShell run: Invoke-WebRequest -Uri https://github.com/vim/vim-win32-installer/releases/download/v${{matrix.vim_version}}/gvim_${{matrix.vim_version}}_${{matrix.vim_arch}}.zip -OutFile vim.zip - name: Extract vim shell: PowerShell run: Expand-Archive -Path vim.zip -DestinationPath $env:USERPROFILE - 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: cmd run: | SET PATH=%USERPROFILE%\vim\${{matrix.vim_ver_path}};%PATH%; SET PATH=.\vim-themis\bin;%PATH%; SET PATH=.\bin;%PATH%; vim --version themis