neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 818a2980db2cce6dd16c13ec7eb56a42fc812149
parent a9cdf76e3a142c78b2b5da58c428e15e31cb0a15
Author: dundargoc <gocdundar@gmail.com>
Date:   Wed,  5 Feb 2025 22:53:24 +0100

ci(arm64): skip installing npm to prevent segmentation faults

Installing npm on linux arm64 causes intermittent segmentation faults
for unknown reasons.

Closes https://github.com/neovim/neovim/issues/32339.

Diffstat:
M.github/scripts/install_deps.sh | 17++++++++++++++---
M.github/workflows/test.yml | 4----
2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh @@ -9,8 +9,9 @@ while (($# > 0)); do esac done -os=$(uname -s) -if [[ $os == Linux ]]; then +OS=$(uname -s) +ARCH=$(uname -m) +if [[ $OS == Linux ]]; then sudo apt-get update sudo apt-get install -y build-essential cmake curl gettext ninja-build @@ -34,13 +35,23 @@ if [[ $os == Linux ]]; then # Use default CC to avoid compilation problems when installing Python modules CC=cc python3 -m pip -q install --user --upgrade --break-system-packages pynvim + + # Skip installing npm on aarch64 as it tends to cause intermittent segmentation faults. + # See https://github.com/neovim/neovim/issues/32339. + if [[ $ARCH != aarch64 ]]; then + npm install -g neovim + npm link neovim + fi fi -elif [[ $os == Darwin ]]; then +elif [[ $OS == Darwin ]]; then brew update --quiet brew install ninja if [[ -n $TEST ]]; then brew install cpanminus fswatch + npm install -g neovim + npm link neovim + # Use default CC to avoid compilation problems when installing Python modules CC=cc python3 -m pip -q install --user --upgrade --break-system-packages pynvim fi diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml @@ -139,10 +139,6 @@ jobs: echo "Install neovim RubyGem." gem install --no-document --bindir "$BIN_DIR" --user-install --pre neovim - echo "Install neovim npm package" - npm install -g neovim - npm link neovim - sudo cpanm -n Neovim::Ext || cat "$HOME/.cpanm/build.log" perl -W -e 'use Neovim::Ext; print $Neovim::Ext::VERSION'