Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update supported nvim versions #4887

Open
5 of 7 tasks
hsanson opened this issue Dec 29, 2024 · 4 comments
Open
5 of 7 tasks

Update supported nvim versions #4887

hsanson opened this issue Dec 29, 2024 · 4 comments

Comments

@hsanson
Copy link
Contributor

hsanson commented Dec 29, 2024

Deprecate neovim 0.6 and support 0.11+

  • Update default g:ale_use_neovim_diagnostics_api variable to has('nvim-0.7').
  • Update ale-lint-file-linters documentation to mention 0.7+ instead of 0.6+
  • Update Dockerfile to use 0.7.0 instead of 0.6.0
  • update engine.vim check for has nvim-0.6.0
  • update run-tests to use v0.7 and 0.10 instead of 0.6 and 0.9
  • update ale-development.txt to mention 0.7.0 instead of 0.6.0
  • update ale.vim to mention 0.7.0 instead of 0.6.0
@hsanson
Copy link
Contributor Author

hsanson commented Jan 1, 2025

Unfortunately the docker images used to run tests is unable to build neovim-0.9 or newer making this change more challenging than expected: Vimjas/vim-testbed#91

We can consider increasing the minimum to 0.7 and leave tests up to 0.8 instead of latest 0.10.

@w0rp
Copy link
Member

w0rp commented Mar 13, 2025

Update to this: I didn't attempt to fix the testbed to test with newer Neovim versions, but I did change the minimum supported version we test with to 0.7.

@hsanson If you can publish your patches to vim-testbed I'll create a dense-analysis repo for it, publish the Docker image, and we can use that image for updated ALE tests with the latest Neovim. I'll make you an admin of that repo.

@w0rp w0rp added this to the Version 5.0.0 milestone Mar 13, 2025
@hsanson
Copy link
Contributor Author

hsanson commented Mar 14, 2025

@w0rp on vim-testbed the only change is to update the base FROM image in the Dockerfile:

diff --git a/Dockerfile b/Dockerfile
index fc9f1bf..4ad005d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.15
+FROM alpine:3.17.10
 
 RUN apk --no-cache upgrade
 

On ALE this is my failed attempt:

  • Update testbed/vim image to 25 that is a version I build locally using the updated Dockerfile above.
  • Remove python2 that is no longer available.
  • Add lua5.1-lpeg package needed to build neovim 0.10+

With these changes I can get the image to build and tests to run on neovim 0.10.4 but the test fails for reason I have not looked further.

I have a branch with the changes on my local. I have not submitted a PR since vim-testbed:25 only exists on my local.

diff --git a/Dockerfile b/Dockerfile
index ed81e93d..f3996494 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,25 +1,24 @@
-ARG TESTBED_VIM_VERSION=24
+ARG TESTBED_VIM_VERSION=25
 
 FROM testbed/vim:${TESTBED_VIM_VERSION}
 
 RUN install_vim -tag v8.0.0027 -build \
                 -tag v9.0.0297 -build \
                 -tag neovim:v0.7.0 -build \
-                -tag neovim:v0.8.0 -build
+                -tag neovim:v0.10.4 -build
 
 ENV PACKAGES="\
     bash \
     git \
-    python2 \
     python3 \
     py3-pip \
     grep \
     sed \
-"
-RUN apk --update add $PACKAGES && \
-    rm -rf /var/cache/apk/* /tmp/* /var/tmp/*
+    lua5.1-lpeg"
 
-RUN pip install vim-vint==0.3.21
+RUN apk --update add $PACKAGES && \
+    rm -rf /var/cache/apk/* /tmp/* /var/tmp/* && \
+    pip install vim-vint==0.3.21
 
 RUN git clone https://github.com/junegunn/vader.vim vader && \
     cd vader && git checkout c6243dd81c98350df4dec608fa972df98fa2a3af
diff --git a/run-tests b/run-tests
index fb3e750d..4864092e 100755
--- a/run-tests
+++ b/run-tests
@@ -26,7 +26,7 @@ tests='test/*.vader test/*/*.vader test/*/*/*.vader'
 verbose_flag=''
 quiet_flag=''
 run_neovim_07_tests=1
-run_neovim_08_tests=1
+run_neovim_010_tests=1
 run_vim_80_tests=1
 run_vim_90_tests=1
 run_linters=1
@@ -45,7 +45,7 @@ while [ $# -ne 0 ]; do
         run_vim_80_tests=0
         run_vim_90_tests=0
         run_neovim_07_tests=0
-        run_neovim_08_tests=0
+        run_neovim_010_tests=0
         run_linters=0
         shift
     ;;
@@ -56,7 +56,7 @@ while [ $# -ne 0 ]; do
         shift
     ;;
     --neovim-07-only)
-        run_neovim_08_tests=0
+        run_neovim_010_tests=0
         run_vim_80_tests=0
         run_vim_90_tests=0
         run_linters=0
@@ -71,20 +71,20 @@ while [ $# -ne 0 ]; do
     ;;
     --vim-only)
         run_neovim_07_tests=0
-        run_neovim_08_tests=0
+        run_neovim_010_tests=0
         run_linters=0
         shift
     ;;
     --vim-80-only)
         run_neovim_07_tests=0
-        run_neovim_08_tests=0
+        run_neovim_010_tests=0
         run_vim_90_tests=0
         run_linters=0
         shift
     ;;
     --vim-90-only)
         run_neovim_07_tests=0
-        run_neovim_08_tests=0
+        run_neovim_010_tests=0
         run_vim_80_tests=0
         run_linters=0
         shift
@@ -93,14 +93,14 @@ while [ $# -ne 0 ]; do
         run_vim_80_tests=0
         run_vim_90_tests=0
         run_neovim_07_tests=0
-        run_neovim_08_tests=0
+        run_neovim_010_tests=0
         shift
     ;;
     --fast)
         run_vim_80_tests=0
         run_vim_90_tests=0
         run_neovim_07_tests=0
-        run_neovim_08_tests=1
+        run_neovim_010_tests=1
         shift
     ;;
     --help)
@@ -115,7 +115,7 @@ while [ $# -ne 0 ]; do
         echo '  --build-image     Run docker image build only.'
         echo '  --neovim-only     Run tests only for Neovim'
         echo '  --neovim-07-only  Run tests only for Neovim 0.7'
-        echo '  --neovim-08-only  Run tests only for Neovim 0.8'
+        echo '  --neovim-10-only  Run tests only for Neovim 0.10'
         echo '  --vim-only        Run tests only for Vim'
         echo '  --vim-80-only     Run tests only for Vim 8.2'
         echo '  --vim-90-only     Run tests only for Vim 9.0'
@@ -184,7 +184,7 @@ if [ "$has_image" -eq 0 ] && ! download_image; then
   build_args=( --build-arg GIT_VERSION="$git_version" )
 
   if [[ $arch != x86_64 ]]; then
-    echo "Building testbed/vim:24 for $arch"
+    echo "Building testbed/vim:25 for $arch"
     testbed_vim_ref=902917c4caa50db2f2e80009b839605602f9f014
     "$DOCKER" build -t "testbed/vim:$testbed_vim_ref" "https://github.com/Vimjas/vim-testbed.git#$testbed_vim_ref"
     build_args+=( --build-arg TESTBED_VIM_VERSION="$testbed_vim_ref" )
@@ -241,7 +241,7 @@ for vim in $("$DOCKER" run --rm "$DOCKER_RUN_IMAGE" ls /vim-build/bin | grep '^n
     if ( [[ $vim =~ ^vim-v8.0 ]] && ((run_vim_80_tests)) ) \
     || ( [[ $vim =~ ^vim-v9.0 ]] && ((run_vim_90_tests)) ) \
     || ( [[ $vim =~ ^neovim-v0.7 ]] && ((run_neovim_07_tests)) ) \
-    || ( [[ $vim =~ ^neovim-v0.8 ]] && ((run_neovim_08_tests)) ); then
+    || ( [[ $vim =~ ^neovim-v0.10 ]] && ((run_neovim_010_tests)) ); then
         echo "Starting Vim: $vim..."
         file_number=$((file_number+1))
         test/script/run-vader-tests $quiet_flag $verbose_flag "$vim" "$tests" \

@w0rp
Copy link
Member

w0rp commented Mar 14, 2025

Thanks @hsanson. I might give it a shot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants