From 81c5483dcb6a5504911b54227923da5028023a7c Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Tue, 7 Feb 2023 23:09:08 +0100 Subject: ci: add universal macos job (#22156) The universal macos release is particularly sensitive to build system changes. Adding a job that builds a universal binary whenever a cmake file is changed will help prevent future release breaks. --- .github/scripts/build_universal_macos.sh | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 .github/scripts/build_universal_macos.sh (limited to '.github/scripts') diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh new file mode 100755 index 0000000000..392eec62ac --- /dev/null +++ b/.github/scripts/build_universal_macos.sh @@ -0,0 +1,36 @@ +#!/bin/bash -e + +echo "Provision universal libintl" +GETTEXT_PREFIX="$(brew --prefix gettext)" +printf 'GETTEXT_PREFIX=%s\n' "$GETTEXT_PREFIX" >> $GITHUB_ENV +bottle_tag="arm64_big_sur" +brew fetch --bottle-tag="$bottle_tag" gettext +cd "$(mktemp -d)" +tar xf "$(brew --cache)"/**/*gettext*${bottle_tag}*.tar.gz +lipo gettext/*/lib/libintl.a "${GETTEXT_PREFIX}/lib/libintl.a" -create -output libintl.a +mv -f libintl.a /usr/local/lib/ + +echo "Ensure static linkage to libintl" +# We're about to mangle `gettext`, so let's remove any potentially broken +# installs (e.g. curl, git) as those could interfere with our build. +brew uninstall $(brew uses --installed --recursive gettext) +brew unlink gettext +ln -sf "$(brew --prefix)/opt/$(readlink "${GETTEXT_PREFIX}")/bin"/* /usr/local/bin/ +ln -sf "$(brew --prefix)/opt/$(readlink "${GETTEXT_PREFIX}")/include"/* /usr/local/include/ +rm -f "$GETTEXT_PREFIX" + +echo "Build release" +cd "$GITHUB_WORKSPACE" +MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | cut -f1 -d.)" +export MACOSX_DEPLOYMENT_TARGET +cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 +cmake --build .deps +cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 +cmake --build build +cmake --install build --prefix build/release/nvim-macos +cd build +# Make sure we build everything for M1 as well +for macho in bin/* lib/nvim/parser/*.so; do + lipo -info "$macho" | grep -q arm64 || exit 1 +done +cpack -C "$NVIM_BUILD_TYPE" -- cgit From ee87b848a2dc7ca3d3cfb871afcd351274f612dc Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 11 Feb 2023 10:47:10 +0100 Subject: ci: remove reviewers from the refactor label (#22216) Anyone can review a refactor depending on what's being refactored. --- .github/scripts/reviews.js | 4 ---- 1 file changed, 4 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/reviews.js b/.github/scripts/reviews.js index cc6aaa1e8b..0ed382ac30 100644 --- a/.github/scripts/reviews.js +++ b/.github/scripts/reviews.js @@ -69,10 +69,6 @@ module.exports = async ({github, context}) => { reviewers.add("justinmk") } - if (labels.includes('refactor')) { - reviewers.add("bfredl") - } - if (labels.includes('test')) { reviewers.add("justinmk") } -- cgit From 5d3769ea2343a30c60963011bef85346320bd97c Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 12 Feb 2023 22:09:10 +0100 Subject: ci: install dependencies with a single script (#22241) It's easier if the os-specific installations are done by the script itself --- .github/scripts/install_dependencies.cmake | 27 +++++++++++++++++++++++++++ .github/scripts/install_deps_ubuntu.sh | 19 ------------------- 2 files changed, 27 insertions(+), 19 deletions(-) create mode 100644 .github/scripts/install_dependencies.cmake delete mode 100755 .github/scripts/install_deps_ubuntu.sh (limited to '.github/scripts') diff --git a/.github/scripts/install_dependencies.cmake b/.github/scripts/install_dependencies.cmake new file mode 100644 index 0000000000..c2299614c0 --- /dev/null +++ b/.github/scripts/install_dependencies.cmake @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.10) + +if(APPLE) + execute_process(COMMAND brew update --quiet) + execute_process(COMMAND brew install automake ninja) + if(TEST_DEPS) + execute_process(COMMAND brew install cpanminus) + endif() +else() + # Assuming ubuntu for now. May expand if required. + set(PACKAGES + autoconf + automake + build-essential + curl + gettext + libtool-bin + locales-all + ninja-build + pkg-config + unzip) + execute_process(COMMAND sudo apt-get update) + execute_process(COMMAND sudo apt-get install -y ${PACKAGES}) + if(TEST_DEPS) + execute_process(COMMAND sudo apt-get install -y cpanminus) + endif() +endif() diff --git a/.github/scripts/install_deps_ubuntu.sh b/.github/scripts/install_deps_ubuntu.sh deleted file mode 100755 index 012409ba4a..0000000000 --- a/.github/scripts/install_deps_ubuntu.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -PACKAGES=( - autoconf - automake - build-essential - cmake - cpanminus - curl - gettext - libtool-bin - locales-all - ninja-build - pkg-config - unzip -) - -sudo apt-get update -sudo apt-get install -y "${PACKAGES[@]}" -- cgit From 9de9bd4bedde734e6b795e899e78b5417bc82fe4 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 13 Feb 2023 18:26:01 +0100 Subject: ci: replace cmake script with bash script (#22246) Bash has better error handling than cmake, and seem overall slightly more suited to scripting than cmake. --- .github/scripts/install_dependencies.cmake | 27 --------------------------- .github/scripts/install_deps.sh | 10 ++++++++++ 2 files changed, 10 insertions(+), 27 deletions(-) delete mode 100644 .github/scripts/install_dependencies.cmake create mode 100755 .github/scripts/install_deps.sh (limited to '.github/scripts') diff --git a/.github/scripts/install_dependencies.cmake b/.github/scripts/install_dependencies.cmake deleted file mode 100644 index c2299614c0..0000000000 --- a/.github/scripts/install_dependencies.cmake +++ /dev/null @@ -1,27 +0,0 @@ -cmake_minimum_required(VERSION 3.10) - -if(APPLE) - execute_process(COMMAND brew update --quiet) - execute_process(COMMAND brew install automake ninja) - if(TEST_DEPS) - execute_process(COMMAND brew install cpanminus) - endif() -else() - # Assuming ubuntu for now. May expand if required. - set(PACKAGES - autoconf - automake - build-essential - curl - gettext - libtool-bin - locales-all - ninja-build - pkg-config - unzip) - execute_process(COMMAND sudo apt-get update) - execute_process(COMMAND sudo apt-get install -y ${PACKAGES}) - if(TEST_DEPS) - execute_process(COMMAND sudo apt-get install -y cpanminus) - endif() -endif() diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh new file mode 100755 index 0000000000..4727b5d08d --- /dev/null +++ b/.github/scripts/install_deps.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +os=$(uname -s) +if [[ $os == Linux ]]; then + sudo apt-get update + sudo apt-get install -y autoconf automake build-essential cmake curl gettext libtool-bin locales-all ninja-build pkg-config unzip "$@" +elif [[ $os == Darwin ]]; then + brew update --quiet + brew install automake ninja "$@" +fi -- cgit From fbb27a101f4fec14dec2f508be86d8688a8bd2d9 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 18 Feb 2023 00:09:51 +0100 Subject: ci: remove former dependencies that are no longer needed (#22301) libtool, autoconf, automake and perl are no longer dependencies of neovim and doesn't need to be installed in CI anymore. The dependencies and the commit that removed them as dependencies are the following: libtool: b05100a9eaad5980ea7652137bc4a1c2d15d752f perl: 20a932cb72cf077d54e3498ef93341ffe3d4cdbb autoconf+automake: e23c5fda0a3fe385af615372c474d4dad3b74464 --- .github/scripts/install_deps.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 4727b5d08d..29f4d73a7f 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -3,8 +3,8 @@ os=$(uname -s) if [[ $os == Linux ]]; then sudo apt-get update - sudo apt-get install -y autoconf automake build-essential cmake curl gettext libtool-bin locales-all ninja-build pkg-config unzip "$@" + sudo apt-get install -y build-essential cmake curl gettext locales-all ninja-build pkg-config unzip "$@" elif [[ $os == Darwin ]]; then brew update --quiet - brew install automake ninja "$@" + brew install ninja "$@" fi -- cgit From 9301abdf748b54fa3d41375cc4659ca9f4b57dd8 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 18 Feb 2023 17:43:39 +0100 Subject: ci: enable CI_BUILD automatically if environment variable CI is true (#22312) Having to specify CI_BUILD for every CI job requires boilerplate. More importantly, it's easy to forget to enable CI_BUILD, as seen by 8a20f9f98a90a7a43aea08fcde2c40a5356b4f7b. It's simpler to remember to turn CI_BUILD off when a job errors instead of remembering that every new job should have CI_BUILD on. --- .github/scripts/build_universal_macos.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/scripts') diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh index 392eec62ac..003be75de8 100755 --- a/.github/scripts/build_universal_macos.sh +++ b/.github/scripts/build_universal_macos.sh @@ -25,7 +25,7 @@ MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | cut -f1 -d.)" export MACOSX_DEPLOYMENT_TARGET cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 cmake --build .deps -cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 +cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 -D CI_BUILD=OFF cmake --build build cmake --install build --prefix build/release/nvim-macos cd build -- cgit From 598ff4f7d17791326a5d991c1c947cce6faf1b1a Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 2 Apr 2023 17:37:05 +0200 Subject: ci: update reviewers --- .github/scripts/reviews.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/reviews.js b/.github/scripts/reviews.js index 0ed382ac30..2aeedd0c81 100644 --- a/.github/scripts/reviews.js +++ b/.github/scripts/reviews.js @@ -10,12 +10,10 @@ module.exports = async ({github, context}) => { const team_reviewers = new Array() if (labels.includes('api')) { reviewers.add("bfredl") - reviewers.add("muniter") } if (labels.includes('build')) { - reviewers.add("jamessan") - reviewers.add("justinmk") + team_reviewers.push('ci'); } if (labels.includes('ci')) { -- cgit From d4398f40214fb6175e2bff4c5823e0e6ca13fbda Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Fri, 7 Apr 2023 22:31:04 +0200 Subject: ci: don't automatically enable -Werror on CI environments This catches downstream consumers of neovim off guard when using neovim in an esoteric environment not tested in our own CI. Closes https://github.com/neovim/neovim/issues/22932 --- .github/scripts/build_universal_macos.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/scripts') diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh index 003be75de8..392eec62ac 100755 --- a/.github/scripts/build_universal_macos.sh +++ b/.github/scripts/build_universal_macos.sh @@ -25,7 +25,7 @@ MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | cut -f1 -d.)" export MACOSX_DEPLOYMENT_TARGET cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 cmake --build .deps -cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 -D CI_BUILD=OFF +cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 cmake --build build cmake --install build --prefix build/release/nvim-macos cd build -- cgit From 8f1541fced2fdcdc378c7a608ed3a6bd94329088 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Fri, 7 Apr 2023 23:00:35 +0200 Subject: ci: use a set instead of array for team reviewers Adding the same team multiple times will fail the review job. --- .github/scripts/reviews.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/reviews.js b/.github/scripts/reviews.js index 2aeedd0c81..29b7c4019d 100644 --- a/.github/scripts/reviews.js +++ b/.github/scripts/reviews.js @@ -7,17 +7,17 @@ module.exports = async ({github, context}) => { const labels = pr_data.data.labels.map(e => e.name) const reviewers = new Set() - const team_reviewers = new Array() + const team_reviewers = new Set() if (labels.includes('api')) { reviewers.add("bfredl") } if (labels.includes('build')) { - team_reviewers.push('ci'); + team_reviewers.add('ci'); } if (labels.includes('ci')) { - team_reviewers.push('ci'); + team_reviewers.add('ci'); } if (labels.includes('column')) { @@ -55,7 +55,7 @@ module.exports = async ({github, context}) => { } if (labels.includes('lsp')) { - team_reviewers.push('lsp'); + team_reviewers.add('lsp'); } if (labels.includes('platform:nix')) { @@ -72,7 +72,7 @@ module.exports = async ({github, context}) => { } if (labels.includes('treesitter')) { - team_reviewers.push('treesitter'); + team_reviewers.add('treesitter'); } if (labels.includes('typo')) { @@ -97,6 +97,6 @@ module.exports = async ({github, context}) => { repo: context.repo.repo, pull_number: context.issue.number, reviewers: Array.from(reviewers), - team_reviewers: team_reviewers + team_reviewers: Array.from(team_reviewers) }); } -- cgit From 5d387c338828d176f335f2a9cec8882ecc4ba954 Mon Sep 17 00:00:00 2001 From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Date: Mon, 10 Apr 2023 02:31:13 +0800 Subject: build(ci): ensure correct headers are used on macOS Currently, the release build picks up headers in `/Library/Frameworks/Mono.framework/Headers`. You can verify this by downloading the latest nightly build and checking the output of `nvim --version`. These headers are likely to be from a different version of `libintl` than the one we link to. Let's avoid usage of them by setting `CMAKE_FIND_FRAMEWORK` to `NEVER`. --- .github/scripts/build_universal_macos.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh index 392eec62ac..4dfe0d0cf8 100755 --- a/.github/scripts/build_universal_macos.sh +++ b/.github/scripts/build_universal_macos.sh @@ -23,9 +23,17 @@ echo "Build release" cd "$GITHUB_WORKSPACE" MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | cut -f1 -d.)" export MACOSX_DEPLOYMENT_TARGET -cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 +cmake -S cmake.deps -B .deps -G Ninja \ + -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} \ + -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ + -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 \ + -D CMAKE_FIND_FRAMEWORK=NEVER cmake --build .deps -cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 +cmake -B build -G Ninja \ + -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} \ + -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ + -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 \ + -D CMAKE_FIND_FRAMEWORK=NEVER cmake --build build cmake --install build --prefix build/release/nvim-macos cd build -- cgit From 669030ec08042e41d57f74adb4abb836c387930a Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 22 Apr 2023 13:50:27 +0200 Subject: ci: remove team reviewers Team reviewers is a nice feature that comes with a severe drawback: it makes testing the workflows incredibly difficult as they won't work without a similar token by the tester. --- .github/scripts/remove-reviewers.js | 10 ++-- .github/scripts/reviews.js | 110 +++++++++++++++++++----------------- 2 files changed, 62 insertions(+), 58 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/remove-reviewers.js b/.github/scripts/remove-reviewers.js index 40a8eca423..9e44e4ac86 100644 --- a/.github/scripts/remove-reviewers.js +++ b/.github/scripts/remove-reviewers.js @@ -1,18 +1,16 @@ -module.exports = async ({github, context}) => { +module.exports = async ({ github, context }) => { const requestedReviewers = await github.rest.pulls.listRequestedReviewers({ owner: context.repo.owner, repo: context.repo.repo, - pull_number: context.issue.number + pull_number: context.issue.number, }); - const reviewers = requestedReviewers.data.users.map(e => e.login) - const team_reviewers = requestedReviewers.data.teams.map(e => e.name); + const reviewers = requestedReviewers.data.users.map((e) => e.login); github.rest.pulls.removeRequestedReviewers({ owner: context.repo.owner, repo: context.repo.repo, pull_number: context.issue.number, reviewers: reviewers, - team_reviewers: team_reviewers }); -} +}; diff --git a/.github/scripts/reviews.js b/.github/scripts/reviews.js index 29b7c4019d..36625221f9 100644 --- a/.github/scripts/reviews.js +++ b/.github/scripts/reviews.js @@ -1,102 +1,108 @@ -module.exports = async ({github, context}) => { +module.exports = async ({ github, context }) => { const pr_data = await github.rest.pulls.get({ owner: context.repo.owner, repo: context.repo.repo, - pull_number: context.issue.number - }) - const labels = pr_data.data.labels.map(e => e.name) + pull_number: context.issue.number, + }); + const labels = pr_data.data.labels.map((e) => e.name); - const reviewers = new Set() - const team_reviewers = new Set() - if (labels.includes('api')) { - reviewers.add("bfredl") + const reviewers = new Set(); + if (labels.includes("api")) { + reviewers.add("bfredl"); } - if (labels.includes('build')) { - team_reviewers.add('ci'); + if (labels.includes("build")) { + reviewers.add("dundargoc"); + reviewers.add("jamessan"); + reviewers.add("justinmk"); } - if (labels.includes('ci')) { - team_reviewers.add('ci'); + if (labels.includes("ci")) { + reviewers.add("dundargoc"); + reviewers.add("jamessan"); + reviewers.add("justinmk"); } - if (labels.includes('column')) { - reviewers.add("lewis6991") + if (labels.includes("column")) { + reviewers.add("lewis6991"); } - if (labels.includes('dependencies')) { - reviewers.add("jamessan") + if (labels.includes("dependencies")) { + reviewers.add("jamessan"); } - if (labels.includes('diagnostic')) { - reviewers.add("gpanders") + if (labels.includes("diagnostic")) { + reviewers.add("gpanders"); } - if (labels.includes('diff')) { - reviewers.add("lewis6991") + if (labels.includes("diff")) { + reviewers.add("lewis6991"); } - if (labels.includes('distribution')) { - reviewers.add("jamessan") + if (labels.includes("distribution")) { + reviewers.add("jamessan"); } - if (labels.includes('documentation')) { - reviewers.add("clason") + if (labels.includes("documentation")) { + reviewers.add("clason"); } - if (labels.includes('extmarks')) { - reviewers.add("bfredl") + if (labels.includes("extmarks")) { + reviewers.add("bfredl"); } - if (labels.includes('filetype')) { - reviewers.add("clason") - reviewers.add("gpanders") - reviewers.add("smjonas") + if (labels.includes("filetype")) { + reviewers.add("clason"); + reviewers.add("gpanders"); + reviewers.add("smjonas"); } - if (labels.includes('lsp')) { - team_reviewers.add('lsp'); + if (labels.includes("lsp")) { + reviewers.add("folke"); + reviewers.add("glepnir"); + reviewers.add("mfussenegger"); } - if (labels.includes('platform:nix')) { - reviewers.add("teto") + if (labels.includes("platform:nix")) { + reviewers.add("teto"); } - if (labels.includes('project-management')) { - reviewers.add("bfredl") - reviewers.add("justinmk") + if (labels.includes("project-management")) { + reviewers.add("bfredl"); + reviewers.add("justinmk"); } - if (labels.includes('test')) { - reviewers.add("justinmk") + if (labels.includes("test")) { + reviewers.add("justinmk"); } - if (labels.includes('treesitter')) { - team_reviewers.add('treesitter'); + if (labels.includes("treesitter")) { + reviewers.add("bfredl"); + reviewers.add("clason"); + reviewers.add("lewis6991"); } - if (labels.includes('typo')) { - reviewers.add("dundargoc") + if (labels.includes("typo")) { + reviewers.add("dundargoc"); } - if (labels.includes('ui')) { - reviewers.add("bfredl") + if (labels.includes("ui")) { + reviewers.add("bfredl"); } - if (labels.includes('vim-patch')) { - reviewers.add("seandewar") - reviewers.add("zeertzjq") + if (labels.includes("vim-patch")) { + reviewers.add("seandewar"); + reviewers.add("zeertzjq"); } // Remove person that opened the PR since they can't review themselves - const pr_opener = pr_data.data.user.login - reviewers.delete(pr_opener) + const pr_opener = pr_data.data.user.login; + reviewers.delete(pr_opener); github.rest.pulls.requestReviewers({ owner: context.repo.owner, repo: context.repo.repo, pull_number: context.issue.number, reviewers: Array.from(reviewers), - team_reviewers: Array.from(team_reviewers) }); -} +}; -- cgit From 8994389845ae4ca5e6a797b8f957dea76320ff94 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 22 Apr 2023 22:58:14 +0200 Subject: ci: make all linux releases work with same glibc version --- .github/scripts/build_universal_macos.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh index 4dfe0d0cf8..6d9400fb96 100755 --- a/.github/scripts/build_universal_macos.sh +++ b/.github/scripts/build_universal_macos.sh @@ -35,10 +35,8 @@ cmake -B build -G Ninja \ -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 \ -D CMAKE_FIND_FRAMEWORK=NEVER cmake --build build -cmake --install build --prefix build/release/nvim-macos -cd build # Make sure we build everything for M1 as well -for macho in bin/* lib/nvim/parser/*.so; do +for macho in build/bin/* build/lib/nvim/parser/*.so; do lipo -info "$macho" | grep -q arm64 || exit 1 done -cpack -C "$NVIM_BUILD_TYPE" +cpack --config build/CPackConfig.cmake -- cgit From 943ac2be55b7fcb6bf7fd9c80fd22bd4867b672f Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 23 Apr 2023 16:35:49 +0200 Subject: ci: reuse script to enable Developer Command Prompt --- .github/scripts/env.ps1 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/scripts/env.ps1 (limited to '.github/scripts') diff --git a/.github/scripts/env.ps1 b/.github/scripts/env.ps1 new file mode 100644 index 0000000000..d1dba5d558 --- /dev/null +++ b/.github/scripts/env.ps1 @@ -0,0 +1,9 @@ +# This script enables Developer Command Prompt +# See https://github.com/microsoft/vswhere/wiki/Start-Developer-Command-Prompt#using-powershell +$installationPath = vswhere.exe -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath +if ($installationPath -and (Test-Path "$installationPath\Common7\Tools\vsdevcmd.bat")) { + & "${env:COMSPEC}" /s /c "`"$installationPath\Common7\Tools\vsdevcmd.bat`" -arch=x64 -no_logo && set" | ForEach-Object { + $name, $value = $_ -split '=', 2 + "$name=$value" >> $env:GITHUB_ENV + } +} -- cgit From 6674d706d97d7e681a5404f79a1c5bba3af80bae Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Wed, 26 Apr 2023 18:25:27 +0200 Subject: ci: update reviewers --- .github/scripts/reviews.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to '.github/scripts') diff --git a/.github/scripts/reviews.js b/.github/scripts/reviews.js index 36625221f9..3e5394c4bd 100644 --- a/.github/scripts/reviews.js +++ b/.github/scripts/reviews.js @@ -5,10 +5,11 @@ module.exports = async ({ github, context }) => { pull_number: context.issue.number, }); const labels = pr_data.data.labels.map((e) => e.name); - const reviewers = new Set(); + if (labels.includes("api")) { reviewers.add("bfredl"); + reviewers.add("famiu"); } if (labels.includes("build")) { @@ -72,6 +73,10 @@ module.exports = async ({ github, context }) => { reviewers.add("justinmk"); } + if (labels.includes("statusline")) { + reviewers.add("famiu"); + } + if (labels.includes("test")) { reviewers.add("justinmk"); } @@ -88,6 +93,7 @@ module.exports = async ({ github, context }) => { if (labels.includes("ui")) { reviewers.add("bfredl"); + reviewers.add("famiu"); } if (labels.includes("vim-patch")) { -- cgit From c50cdd62706ed00a2bb9e1201ac8aac1b71e9a16 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 27 Apr 2023 22:07:44 +0200 Subject: ci: replace stale bot with custom implementation The stale action has a bug where it won't close an issue/PR if it has comments after the stale label. --- .github/scripts/close_unresponsive.js | 50 ++++++++++++++++++++++++++++++++ .github/scripts/remove_response_label.js | 19 ++++++++++++ .github/scripts/unstale.js | 19 ------------ 3 files changed, 69 insertions(+), 19 deletions(-) create mode 100644 .github/scripts/close_unresponsive.js create mode 100644 .github/scripts/remove_response_label.js delete mode 100644 .github/scripts/unstale.js (limited to '.github/scripts') diff --git a/.github/scripts/close_unresponsive.js b/.github/scripts/close_unresponsive.js new file mode 100644 index 0000000000..b7a92207ba --- /dev/null +++ b/.github/scripts/close_unresponsive.js @@ -0,0 +1,50 @@ +function labeledEvent(data) { + return data.event === "labeled" && data.label.name === "needs:response"; +} + +const numberOfDaysLimit = 30; +const close_message = `This has been closed since a request for information has \ +not been answered for ${numberOfDaysLimit} days. It can be reopened when the \ +requested information is provided.`; + +module.exports = async ({ github, context }) => { + const owner = context.repo.owner; + const repo = context.repo.repo; + + const issues = await github.rest.issues.listForRepo({ + owner: owner, + repo: repo, + labels: "needs:response", + }); + const numbers = issues.data.map((e) => e.number); + + for (const number of numbers) { + const timeline = await github.rest.issues.listEventsForTimeline({ + owner: owner, + repo: repo, + issue_number: number, + }); + const data = timeline.data.filter(labeledEvent); + const latest_response_label = data[data.length - 1]; + const created_at = new Date(latest_response_label.created_at); + const now = new Date(); + const diff = now - created_at; + const diffDays = diff / (1000 * 60 * 60 * 24); + + if (diffDays > numberOfDaysLimit) { + github.rest.issues.update({ + owner: owner, + repo: repo, + issue_number: number, + state: "closed", + }); + + github.rest.issues.createComment({ + owner: owner, + repo: repo, + issue_number: number, + body: close_message, + }); + } + } +}; diff --git a/.github/scripts/remove_response_label.js b/.github/scripts/remove_response_label.js new file mode 100644 index 0000000000..f645fca5cb --- /dev/null +++ b/.github/scripts/remove_response_label.js @@ -0,0 +1,19 @@ +module.exports = async ({ github, context }) => { + const commenter = context.actor; + const issue = await github.rest.issues.get({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + }); + const author = issue.data.user.login; + const labels = issue.data.labels.map((e) => e.name); + + if (author === commenter && labels.includes("needs:response")) { + github.rest.issues.removeLabel({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + name: "needs:response", + }); + } +}; diff --git a/.github/scripts/unstale.js b/.github/scripts/unstale.js deleted file mode 100644 index f645fca5cb..0000000000 --- a/.github/scripts/unstale.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = async ({ github, context }) => { - const commenter = context.actor; - const issue = await github.rest.issues.get({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - }); - const author = issue.data.user.login; - const labels = issue.data.labels.map((e) => e.name); - - if (author === commenter && labels.includes("needs:response")) { - github.rest.issues.removeLabel({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - name: "needs:response", - }); - } -}; -- cgit From 933fdff4660a17b1df7809105c57825e0ece1fc6 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 29 Apr 2023 15:43:54 +0200 Subject: ci: make install_deps.sh more flexible This will allow us to use it in containers as well as specify whether we want to install test dependencies. --- .github/scripts/install_deps.sh | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 29f4d73a7f..bb99873267 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -1,10 +1,31 @@ #!/bin/bash +SUDO="sudo" + +while (($# > 0)); do + case $1 in + --test) # install test dependencies + TEST=1 + shift + ;; + --container) # don't use sudo + SUDO="" + shift + ;; + esac +done + os=$(uname -s) if [[ $os == Linux ]]; then - sudo apt-get update - sudo apt-get install -y build-essential cmake curl gettext locales-all ninja-build pkg-config unzip "$@" + $SUDO apt-get update + $SUDO apt-get install -y build-essential cmake curl gettext ninja-build pkg-config unzip + if [[ -n $TEST ]]; then + $SUDO apt-get install -y locales-all cpanminus + fi elif [[ $os == Darwin ]]; then brew update --quiet - brew install ninja "$@" + brew install ninja + if [[ -n $TEST ]]; then + brew install cpanminus + fi fi -- cgit From e7da49d5bf224fcabd02800ae7f800363a32e3d0 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 1 May 2023 07:39:27 +0200 Subject: ci: don't install unnecessary dependencies --- .github/scripts/install_deps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index bb99873267..32591eb8da 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -18,7 +18,7 @@ done os=$(uname -s) if [[ $os == Linux ]]; then $SUDO apt-get update - $SUDO apt-get install -y build-essential cmake curl gettext ninja-build pkg-config unzip + $SUDO apt-get install -y build-essential cmake curl gettext ninja-build unzip if [[ -n $TEST ]]; then $SUDO apt-get install -y locales-all cpanminus fi -- cgit From 1cbfed03c249e7f9e67d59566fbabe46f7f7f1f9 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 7 May 2023 16:46:24 +0200 Subject: ci(response): use pagination for timeline events GitHub paginates responses with many results, which needs to be taken into account as the number of events in an issue can be large. --- .github/scripts/close_unresponsive.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/close_unresponsive.js b/.github/scripts/close_unresponsive.js index b7a92207ba..f0e8bbe93e 100644 --- a/.github/scripts/close_unresponsive.js +++ b/.github/scripts/close_unresponsive.js @@ -19,13 +19,18 @@ module.exports = async ({ github, context }) => { const numbers = issues.data.map((e) => e.number); for (const number of numbers) { - const timeline = await github.rest.issues.listEventsForTimeline({ - owner: owner, - repo: repo, - issue_number: number, - }); - const data = timeline.data.filter(labeledEvent); - const latest_response_label = data[data.length - 1]; + const events = await github.paginate( + github.rest.issues.listEventsForTimeline, + { + owner: owner, + repo: repo, + issue_number: number, + }, + (response) => response.data.filter(labeledEvent) + ); + + const latest_response_label = events[events.length - 1]; + const created_at = new Date(latest_response_label.created_at); const now = new Date(); const diff = now - created_at; -- cgit From b7734c4ec84f0de14fcf86cfacefbed8a3ecf600 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 9 Sep 2023 10:36:42 +0200 Subject: ci: remove container solution for the linux runner This will fix the failing release job. Ubuntu 18.04 is incompatible with checkout action version 4, which requires glibc 2.28+. This will bump the minimum glibc version required to use the release versions to 2.31. People requring the older releases can find them at https://github.com/neovim/neovim-releases. --- .github/scripts/install_deps.sh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 32591eb8da..6a4e163feb 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -1,26 +1,20 @@ #!/bin/bash -SUDO="sudo" - while (($# > 0)); do case $1 in --test) # install test dependencies TEST=1 shift ;; - --container) # don't use sudo - SUDO="" - shift - ;; esac done os=$(uname -s) if [[ $os == Linux ]]; then - $SUDO apt-get update - $SUDO apt-get install -y build-essential cmake curl gettext ninja-build unzip + sudo apt-get update + sudo apt-get install -y build-essential cmake curl gettext ninja-build unzip if [[ -n $TEST ]]; then - $SUDO apt-get install -y locales-all cpanminus + sudo apt-get install -y locales-all cpanminus fi elif [[ $os == Darwin ]]; then brew update --quiet -- cgit From f6e72c3dfed83b02483976eaedb27819df9a878d Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sat, 30 Sep 2023 19:14:24 +0800 Subject: vim-patch:9.0.1962: No support for writing extended attributes Problem: No support for writing extended attributes Solution: Add extended attribute support for linux It's been a long standing issue, that if you write a file with extended attributes and backupcopy is set to no, the file will loose the extended attributes. So this patch adds support for retrieving the extended attributes and copying it to the new file. It currently only works on linux, mainly because I don't know the different APIs for other systems (BSD, MacOSX and Solaris). On linux, this should be supported since Kernel 2.4 or something, so this should be pretty safe to use now. Enable the extended attribute support with normal builds. I also added it explicitly to the :version output as well as make it able to check using `:echo has("xattr")`, to have users easily check that this is available. In contrast to the similar support for SELINUX and SMACK support (which also internally uses extended attributes), I have made this a FEAT_XATTR define, instead of the similar HAVE_XATTR. Add a test and change CI to include relevant packages so that CI can test that extended attributes are correctly written. closes: vim/vim#306 closes: vim/vim#13203 https://github.com/vim/vim/commit/e085dfda5d8dde064b0332464040959479696d1c Co-authored-by: Christian Brabandt --- .github/scripts/install_deps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 6a4e163feb..05e07bda1d 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -12,7 +12,7 @@ done os=$(uname -s) if [[ $os == Linux ]]; then sudo apt-get update - sudo apt-get install -y build-essential cmake curl gettext ninja-build unzip + sudo apt-get install -y attr build-essential cmake curl gettext libattr1-dev ninja-build unzip if [[ -n $TEST ]]; then sudo apt-get install -y locales-all cpanminus fi -- cgit From 753adcc66cb2210e292e67500142f3d9f1b45543 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Sat, 7 Oct 2023 17:04:29 +0200 Subject: ci: fix mac release --- .github/scripts/build_universal_macos.sh | 21 --------------------- 1 file changed, 21 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh index 6d9400fb96..d07c395cd6 100755 --- a/.github/scripts/build_universal_macos.sh +++ b/.github/scripts/build_universal_macos.sh @@ -1,26 +1,5 @@ #!/bin/bash -e -echo "Provision universal libintl" -GETTEXT_PREFIX="$(brew --prefix gettext)" -printf 'GETTEXT_PREFIX=%s\n' "$GETTEXT_PREFIX" >> $GITHUB_ENV -bottle_tag="arm64_big_sur" -brew fetch --bottle-tag="$bottle_tag" gettext -cd "$(mktemp -d)" -tar xf "$(brew --cache)"/**/*gettext*${bottle_tag}*.tar.gz -lipo gettext/*/lib/libintl.a "${GETTEXT_PREFIX}/lib/libintl.a" -create -output libintl.a -mv -f libintl.a /usr/local/lib/ - -echo "Ensure static linkage to libintl" -# We're about to mangle `gettext`, so let's remove any potentially broken -# installs (e.g. curl, git) as those could interfere with our build. -brew uninstall $(brew uses --installed --recursive gettext) -brew unlink gettext -ln -sf "$(brew --prefix)/opt/$(readlink "${GETTEXT_PREFIX}")/bin"/* /usr/local/bin/ -ln -sf "$(brew --prefix)/opt/$(readlink "${GETTEXT_PREFIX}")/include"/* /usr/local/include/ -rm -f "$GETTEXT_PREFIX" - -echo "Build release" -cd "$GITHUB_WORKSPACE" MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | cut -f1 -d.)" export MACOSX_DEPLOYMENT_TARGET cmake -S cmake.deps -B .deps -G Ninja \ -- cgit From 9eb5d9f13fb24594007f5b0728826b1f9b694e3c Mon Sep 17 00:00:00 2001 From: dundargoc Date: Wed, 27 Sep 2023 17:53:06 +0200 Subject: ci: various cleanups - add reviewers - correct cache key --- .github/scripts/reviews.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to '.github/scripts') diff --git a/.github/scripts/reviews.js b/.github/scripts/reviews.js index 3e5394c4bd..8fae929421 100644 --- a/.github/scripts/reviews.js +++ b/.github/scripts/reviews.js @@ -64,6 +64,10 @@ module.exports = async ({ github, context }) => { reviewers.add("mfussenegger"); } + if (labels.includes("options")) { + reviewers.add("famiu"); + } + if (labels.includes("platform:nix")) { reviewers.add("teto"); } -- cgit From 40bd96b6f9295a43de0c4179a90db087a7d37293 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Sun, 8 Oct 2023 23:05:23 +0200 Subject: ci: use clang 17 as the default clang version is too old --- .github/scripts/install_deps.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 05e07bda1d..bcc9789908 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -13,6 +13,22 @@ os=$(uname -s) if [[ $os == Linux ]]; then sudo apt-get update sudo apt-get install -y attr build-essential cmake curl gettext libattr1-dev ninja-build unzip + + if [[ $CC == clang ]]; then + DEFAULT_CLANG_VERSION=$(echo | clang -dM -E - | grep __clang_major | awk '{print $3}') + CLANG_VERSION=17 + if ((DEFAULT_CLANG_VERSION >= CLANG_VERSION)); then + echo "Default clang version is $DEFAULT_CLANG_VERSION, which equal or larger than wanted version $CLANG_VERSION. Aborting!" + exit 1 + fi + + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh $CLANG_VERSION + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-$CLANG_VERSION 100 + sudo update-alternatives --set clang /usr/bin/clang-$CLANG_VERSION + fi + if [[ -n $TEST ]]; then sudo apt-get install -y locales-all cpanminus fi -- cgit From 9ad239690fe6b151afe2f43c2858d68a2b877e1d Mon Sep 17 00:00:00 2001 From: dundargoc Date: Sun, 22 Oct 2023 13:30:32 +0200 Subject: ci: various fixes - adjust reviewers - add workflow as cache key - install attr only when tesitng - fix s390x workflow by checking out the merge PR instead of master --- .github/scripts/install_deps.sh | 4 ++-- .github/scripts/reviews.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index bcc9789908..91c1d04081 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -12,7 +12,7 @@ done os=$(uname -s) if [[ $os == Linux ]]; then sudo apt-get update - sudo apt-get install -y attr build-essential cmake curl gettext libattr1-dev ninja-build unzip + sudo apt-get install -y build-essential cmake curl gettext ninja-build unzip if [[ $CC == clang ]]; then DEFAULT_CLANG_VERSION=$(echo | clang -dM -E - | grep __clang_major | awk '{print $3}') @@ -30,7 +30,7 @@ if [[ $os == Linux ]]; then fi if [[ -n $TEST ]]; then - sudo apt-get install -y locales-all cpanminus + sudo apt-get install -y locales-all cpanminus attr libattr1-dev fi elif [[ $os == Darwin ]]; then brew update --quiet diff --git a/.github/scripts/reviews.js b/.github/scripts/reviews.js index 8fae929421..d28d91c2f6 100644 --- a/.github/scripts/reviews.js +++ b/.github/scripts/reviews.js @@ -60,7 +60,7 @@ module.exports = async ({ github, context }) => { if (labels.includes("lsp")) { reviewers.add("folke"); - reviewers.add("glepnir"); + reviewers.add("MariaSolOs"); reviewers.add("mfussenegger"); } -- cgit From 92e99bb1058dd837c451675175efb8511c5f8e15 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Sat, 4 Nov 2023 22:38:25 +0100 Subject: ci: don't install unzip It is no longer needed now that luarocks isn't used. --- .github/scripts/install_deps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 91c1d04081..0533bd7fae 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -12,7 +12,7 @@ done os=$(uname -s) if [[ $os == Linux ]]; then sudo apt-get update - sudo apt-get install -y build-essential cmake curl gettext ninja-build unzip + sudo apt-get install -y build-essential cmake curl gettext ninja-build if [[ $CC == clang ]]; then DEFAULT_CLANG_VERSION=$(echo | clang -dM -E - | grep __clang_major | awk '{print $3}') -- cgit From 8d3dbf274675d8746cb1cafa446ebce88a5de54b Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Thu, 9 Nov 2023 06:46:12 +0800 Subject: vim-patch:9.0.1791: No tests for the termdebug plugin Problem: No tests for the termdebug plugin Solution: Add some simple tests for the termdebug plugin closes: vim/vim#12927 https://github.com/vim/vim/commit/58f39d89a8adff51ab04893d1fd28e3767979f9f Co-authored-by: Yegappan Lakshmanan --- .github/scripts/install_deps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/scripts') diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 0533bd7fae..9a782e9698 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -30,7 +30,7 @@ if [[ $os == Linux ]]; then fi if [[ -n $TEST ]]; then - sudo apt-get install -y locales-all cpanminus attr libattr1-dev + sudo apt-get install -y locales-all cpanminus attr libattr1-dev gdb fi elif [[ $os == Darwin ]]; then brew update --quiet -- cgit