Skip to content

Commit 567d424

Browse files
committed
fix(ci): do not use matrix variables for OS-specific commands
The use of `matrix.NIGHTLY`, `matrix.EXTRACT`, etc. makes CI matrix configuration difficult. Instead, let the shell script for installing neovim takes care of OS specializations.
1 parent 767a91f commit 567d424

File tree

1 file changed

+26
-25
lines changed

1 file changed

+26
-25
lines changed

.github/workflows/test.yml

+26-25
Original file line numberDiff line numberDiff line change
@@ -41,27 +41,12 @@ jobs:
4141
include:
4242
- os: 'ubuntu-20.04'
4343
python-version: '3.7'
44-
NIGHTLY: nvim-linux64.tar.gz
45-
NVIM_BIN_PATH: nvim-linux64/bin
46-
EXTRACT: tar xzf
47-
- os: 'ubuntu-latest'
48-
NIGHTLY: nvim-linux64.tar.gz
49-
NVIM_BIN_PATH: nvim-linux64/bin
50-
EXTRACT: tar xzf
5144
- os: 'macos-12'
5245
python-version: '3.7'
5346
- os: 'macos-12'
5447
python-version: '3.8'
5548
- os: 'macos-12'
5649
python-version: '3.9'
57-
- os: 'macos-latest'
58-
NIGHTLY: nvim-macos-x86_64.tar.gz
59-
NVIM_BIN_PATH: nvim-macos-x86_64/bin
60-
EXTRACT: tar xzf
61-
- os: 'windows-latest'
62-
NIGHTLY: nvim-win64.zip
63-
NVIM_BIN_PATH: nvim-win64/bin
64-
EXTRACT: unzip
6550

6651
name: "test (python ${{ matrix.python-version }}, ${{ matrix.os }})"
6752
runs-on: ${{ matrix.os }}
@@ -72,20 +57,36 @@ jobs:
7257
cache: 'pip'
7358
python-version: ${{ matrix.python-version }}
7459

75-
- name: update path (bash)
60+
- name: install neovim (Linux/macOS)
7661
if: runner.os != 'Windows'
77-
run: echo "$(pwd)/${{ matrix.NVIM_BIN_PATH }}" >> $GITHUB_PATH
62+
run: |
63+
set -eu -o pipefail
7864
79-
- name: update path (windows)
80-
if: runner.os == 'Windows'
81-
run: echo "$(pwd)/${{ matrix.NVIM_BIN_PATH }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
65+
if [[ "$RUNNER_OS" == "Linux" ]]; then
66+
BASE="nvim-linux64"
67+
elif [[ "$RUNNER_OS" == "macOS" ]]; then
68+
BASE="nvim-macos-x86_64"
69+
else
70+
echo "$RUNNER_OS not supported"; exit 1;
71+
fi
8272
83-
- name: install neovim
73+
curl -LO "https://github.com/neovim/neovim/releases/download/nightly/${BASE}.tar.gz"
74+
tar xvf "${BASE}.tar.gz"
75+
echo "RUNNER_OS = $RUNNER_OS"
76+
$BASE/bin/nvim --version
77+
78+
# update $PATH for later steps
79+
echo "$(pwd)/nvim-win64/bin" >> $GITHUB_PATH
80+
81+
- name: install neovim (Windows)
82+
if: runner.os == 'Windows'
8483
run: |
85-
curl -LO 'https://github.com/neovim/neovim/releases/download/nightly/${{ matrix.NIGHTLY }}'
86-
${{ matrix.EXTRACT }} ${{ matrix.NIGHTLY }}
87-
echo '${{ runner.os }}'
88-
nvim --version
84+
curl -LO "https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.zip"
85+
unzip nvim-win64.zip
86+
nvim-win64/bi/nvim --version
87+
88+
# update $PATH for later steps
89+
echo "$(pwd)/$BASE/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
8990
9091
- name: install dependencies
9192
run: |

0 commit comments

Comments
 (0)