Skip to content

Commit c5279a5

Browse files
ci: run upstream Nvim if_pyth tests #611
Nvim oldtest for if_pyth cover some cases not covered by test suite of pynvim. Instead of porting them to pynvim, we can just clone neovim repo to run those tests. Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
1 parent 9f7df02 commit c5279a5

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

.github/workflows/test.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,69 @@ jobs:
9696
which -a python3
9797
python3 --version
9898
tox run
99+
100+
test-upstream:
101+
strategy:
102+
fail-fast: false
103+
matrix:
104+
config:
105+
- python-version: '3.12'
106+
os: ['ubuntu', 'macos', 'windows']
107+
108+
name:
109+
test-upstream (python ${{ matrix.config.python-version }},
110+
${{ matrix.os }}-${{ matrix.config[matrix.os] || 'latest' }})
111+
runs-on: ${{ matrix.os }}-${{ matrix.config[matrix.os] || 'latest' }}
112+
113+
steps:
114+
- uses: actions/checkout@v3
115+
- uses: actions/setup-python@v4
116+
with:
117+
cache: 'pip'
118+
python-version: ${{ matrix.config.python-version }}
119+
120+
- name: install pynvim
121+
run: |
122+
./scripts/disable_log_statements.sh # Make pynvim in release-ready state
123+
python3 -m pip install -e .
124+
125+
- name: clone nvim
126+
run: |
127+
git clone --depth=1 https://github.com/neovim/neovim.git neovim-repo
128+
129+
- name: install build deps (Windows)
130+
if: runner.os == 'Windows'
131+
uses: msys2/setup-msys2@v2
132+
with:
133+
msystem: UCRT64
134+
update: true
135+
install: unzip
136+
pacboy: >-
137+
cmake:p make:p gcc:p diffutils:p libiconv:p
138+
release: false
139+
140+
- name: build nvim (Windows)
141+
if: runner.os == 'Windows'
142+
shell: msys2 {0}
143+
working-directory: neovim-repo
144+
run: mingw32-make VERBOSE=1
145+
146+
- name: build nvim (Linux/macOS)
147+
if: runner.os != 'Windows'
148+
working-directory: neovim-repo
149+
run: make
150+
151+
- name: test-upstream (Windows)
152+
if: runner.os == 'Windows'
153+
shell: msys2 {0}
154+
working-directory: neovim-repo
155+
run: |
156+
mingw32-make VERBOSE=1 oldtest TEST_FILE=test_python3.vim
157+
mingw32-make VERBOSE=1 functionaltest TEST_FILE=./test/functional/provider/python3_spec.lua
158+
159+
- name: test-upstream (Linux/macOS)
160+
if: runner.os != 'Windows'
161+
working-directory: neovim-repo
162+
run: |
163+
make oldtest TEST_FILE=test_python3.vim
164+
make functionaltest TEST_FILE=./test/functional/provider/python3_spec.lua

0 commit comments

Comments
 (0)