diff --git a/.github/workflows/test_pymode.yml b/.github/workflows/test_pymode.yml index 332dcdad..8fa44087 100644 --- a/.github/workflows/test_pymode.yml +++ b/.github/workflows/test_pymode.yml @@ -3,20 +3,27 @@ name: Testing python-mode on: [push] jobs: - test-python-3_8: + test: runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.8", "3.9", "3.10", "3.11"] + env: + PYTHON_CONFIGURE_OPTS: "--enable-shared" steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 + - name: Setup python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} - name: Install dependencies run: | sudo apt update - export PYTHON_CONFIGURE_OPTS="--enable-shared" - sudo apt install -yqq libncurses5-dev libgtk2.0-dev libatk1.0-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python3-dev lua5.2 liblua5.2-dev libperl-dev git + sudo apt install -yqq libncurses5-dev libgtk2.0-dev libatk1.0-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev lua5.2 liblua5.2-dev libperl-dev git sudo apt remove --purge -yqq vim vim-runtime gvim - name: build and install vim from source working-directory: /tmp run: | - export PYTHON_CONFIGURE_OPTS="--enable-shared" git clone https://github.com/vim/vim.git cd vim ./configure --with-features=huge --enable-multibyte --enable-python3interp=yes --with-python3-config-dir=/usr/lib/python3.8/config-3.8m-x86_64-linux-gnu --enable-perlinterp=yes --enable-luainterp=yes --enable-cscope --prefix=/usr/local @@ -36,36 +43,3 @@ jobs: git submodule update --init --recursive git submodule sync bash tests/test.sh - test-python-3_9: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - name: Install dependencies - run: | - sudo apt update - export PYTHON_CONFIGURE_OPTS="--enable-shared" - sudo apt install -yqq libncurses5-dev libgtk2.0-dev libatk1.0-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python3-dev lua5.2 liblua5.2-dev libperl-dev git - sudo apt remove --purge -yqq vim vim-runtime gvim - - name: build and install vim from source - working-directory: /tmp - run: | - export PYTHON_CONFIGURE_OPTS="--enable-shared" - git clone https://github.com/vim/vim.git - cd vim - ./configure --with-features=huge --enable-multibyte --enable-python3interp=yes --with-python3-config-dir=/usr/lib/python3.9/config-3.9m-x86_64-linux-gnu --enable-perlinterp=yes --enable-luainterp=yes --enable-cscope --prefix=/usr/local - sudo make && sudo make install - - name: Install python-mode - run: | - export PYMODE_DIR="${HOME}/work/python-mode/python-mode" - mkdir -p ${HOME}/.vim/pack/foo/start/ - ln -s ${PYMODE_DIR} ${HOME}/.vim/pack/foo/start/python-mode - cp ${PYMODE_DIR}/tests/utils/pymoderc ${HOME}/.pymoderc - cp ${PYMODE_DIR}/tests/utils/vimrc ${HOME}/.vimrc - touch ${HOME}/.vimrc.before ${HOME}/.vimrc.after - - name: Run python-mode test script - run: | - alias python=python3 - cd ${HOME}/work/python-mode/python-mode - git submodule update --init --recursive - git submodule sync - bash tests/test.sh