Skip to content

Commit 65c0802

Browse files
authored
Merge #586 ci: python3.13, neovim-stable #586
ci: improve build matrix configuration, test with python3.13 and neovim-stable as well
2 parents 63a0250 + c3fe993 commit 65c0802

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

.github/workflows/test.yml

+19-24
Original file line numberDiff line numberDiff line change
@@ -27,35 +27,30 @@ jobs:
2727
strategy:
2828
fail-fast: false
2929
matrix:
30-
python-version: ['3.12', '3.11', '3.10', '3.9', '3.8', '3.7']
31-
os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
32-
exclude:
33-
- os: 'ubuntu-latest'
34-
python-version: '3.7'
35-
- os: 'macos-latest'
36-
python-version: '3.7'
37-
- os: 'macos-latest'
38-
python-version: '3.8'
39-
- os: 'macos-latest'
40-
python-version: '3.9'
41-
include:
42-
- os: 'ubuntu-20.04'
43-
python-version: '3.7'
44-
- os: 'macos-12'
45-
python-version: '3.7'
46-
- os: 'macos-12'
47-
python-version: '3.8'
48-
- os: 'macos-12'
49-
python-version: '3.9'
30+
config: [
31+
{ python-version: '3.13', neovim-version: 'nightly' },
32+
{ python-version: '3.12', neovim-version: 'nightly' },
33+
{ python-version: '3.12', neovim-version: 'stable' },
34+
{ python-version: '3.11' },
35+
{ python-version: '3.10' },
36+
# for python 3.7~3.9, use older version of OS (ubuntu-20.04 and macos-12)
37+
{ python-version: '3.9', ubuntu: '20.04', macos: '13' },
38+
{ python-version: '3.8', ubuntu: '20.04', macos: '13' },
39+
{ python-version: '3.7', ubuntu: '20.04', macos: '13' },
40+
]
41+
os: ['ubuntu', 'macos', 'windows']
5042

51-
name: "test (python ${{ matrix.python-version }}, ${{ matrix.os }})"
52-
runs-on: ${{ matrix.os }}
43+
name:
44+
test (python ${{ matrix.config.python-version }},
45+
${{ matrix.config.neovim-version || 'nightly' }},
46+
${{ matrix.os }}-${{ matrix.config[matrix.os] || 'latest' }})
47+
runs-on: ${{ matrix.os }}-${{ matrix.config[matrix.os] || 'latest' }}
5348
steps:
5449
- uses: actions/checkout@v3
5550
- uses: actions/setup-python@v4
5651
with:
5752
cache: 'pip'
58-
python-version: ${{ matrix.python-version }}
53+
python-version: ${{ matrix.config.python-version }}
5954

6055
- name: install neovim (Linux/macOS)
6156
if: runner.os != 'Windows'
@@ -70,7 +65,7 @@ jobs:
7065
echo "$RUNNER_OS not supported"; exit 1;
7166
fi
7267
73-
curl -LO "https://github.com/neovim/neovim/releases/download/nightly/${BASE}.tar.gz"
68+
curl -LO "https://github.com/neovim/neovim/releases/download/${{ matrix.config.neovim-version || 'nightly' }}/${BASE}.tar.gz"
7469
tar xzf "${BASE}.tar.gz"
7570
echo "RUNNER_OS = $RUNNER_OS"
7671
$BASE/bin/nvim --version

test/test_events.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# -*- coding: utf-8 -*-
1+
import pytest
2+
23
from pynvim.api import Nvim
34

45

@@ -37,6 +38,10 @@ def test_async_error(vim: Nvim) -> None:
3738

3839

3940
def test_broadcast(vim: Nvim) -> None:
41+
if (vim.version.major, vim.version.minor) < (0, 11):
42+
# see #570, neovim/neovim#28487
43+
pytest.skip("neovim/neovim#28487")
44+
4045
vim.command('call rpcnotify(0, "event1", 1, 2, 3)')
4146
vim.command('call rpcnotify(0, "event2", 4, 5, 6)')
4247
vim.command('call rpcnotify(0, "event2", 7, 8, 9)')

0 commit comments

Comments
 (0)