Skip to content

Commit

Permalink
fix(ci): do not use matrix variables for OS-specific commands
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
wookayin committed Oct 31, 2024
1 parent 767a91f commit 5245cd5
Showing 1 changed file with 26 additions and 25 deletions.
51 changes: 26 additions & 25 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,27 +41,12 @@ jobs:
include:
- os: 'ubuntu-20.04'
python-version: '3.7'
NIGHTLY: nvim-linux64.tar.gz
NVIM_BIN_PATH: nvim-linux64/bin
EXTRACT: tar xzf
- os: 'ubuntu-latest'
NIGHTLY: nvim-linux64.tar.gz
NVIM_BIN_PATH: nvim-linux64/bin
EXTRACT: tar xzf
- os: 'macos-12'
python-version: '3.7'
- os: 'macos-12'
python-version: '3.8'
- os: 'macos-12'
python-version: '3.9'
- os: 'macos-latest'
NIGHTLY: nvim-macos-x86_64.tar.gz
NVIM_BIN_PATH: nvim-macos-x86_64/bin
EXTRACT: tar xzf
- os: 'windows-latest'
NIGHTLY: nvim-win64.zip
NVIM_BIN_PATH: nvim-win64/bin
EXTRACT: unzip

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

- name: update path (bash)
- name: install neovim (Linux/macOS)
if: runner.os != 'Windows'
run: echo "$(pwd)/${{ matrix.NVIM_BIN_PATH }}" >> $GITHUB_PATH
run: |
set -eu -o pipefail
- name: update path (windows)
if: runner.os == 'Windows'
run: echo "$(pwd)/${{ matrix.NVIM_BIN_PATH }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
if [[ "$RUNNER_OS" == "Linux" ]]; then
BASE="nvim-linux64"
elif [[ "$RUNNER_OS" == "macOS" ]]; then
BASE="nvim-macos-x86_64"
else
echo "$RUNNER_OS not supported"; exit 1;
fi
- name: install neovim
curl -LO "https://github.com/neovim/neovim/releases/download/nightly/${BASE}.tar.gz"
tar xvf "${BASE}.tar.gz"
echo "RUNNER_OS = $RUNNER_OS"
$BASE/bin/nvim --version
# update $PATH for later steps
echo "$(pwd)/$BASE/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: install neovim (Windows)
if: runner.os == 'Windows'
run: |
curl -LO 'https://github.com/neovim/neovim/releases/download/nightly/${{ matrix.NIGHTLY }}'
${{ matrix.EXTRACT }} ${{ matrix.NIGHTLY }}
echo '${{ runner.os }}'
nvim --version
curl -LO "https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.zip"
unzip nvim-win64.zip
nvim-win64/bi/nvim --version
# update $PATH for later steps
echo "$(pwd)/nvim-win64/bin" >> $GITHUB_PATH
- name: install dependencies
run: |
Expand Down

0 comments on commit 5245cd5

Please sign in to comment.