aboutsummaryrefslogtreecommitdiff
path: root/.github/scripts
Commit message (Collapse)AuthorAge
* ci: label "multicursor"Justin M. Keyes2026-09-11
|
* ci(macos): untap untrusted aws/tap on macOSChristian Clason2026-09-04
| | | | | | | Problem: The 3rd-party default homebrew tap `aws/tap` is untrusted, which now triggers a warning in our macOS workflows. Solution: "Untap" (disable) the tap (which we don't use).
* ci(macos): skip brew upgradeChristian Clason2026-09-04
| | | | | | | | | | | | | | | | | | | | | | | Problem: Support for Intel macOS is increasingly being dropped since Apple itself retired the architecture (with macOS 27 already being ARM-only). In particular, homebrew is already dropping support, with some 3rd-party taps like `hashicorp/tap/vagrant` (that are enabled on GH runners by default) no longer being available. This makes `brew upgrade` fail on Intel. Solution: Skip `brew upgrade` in `install_deps.sh`, as we don't rely on the bleeding edge version of the installed dependencies. This skips checking the tap (which we don't use) and hence lets the workflows pass. (It also shaves of some seconds from the CI time.) Note: This is strictly speaking a GHA issue and should be handled by adapting the runner images; but since GHA has already announced that they will drop all Intel macOS images in 2027, this is unlikely to happen. It also means that this is a stopgap solution to allow 0.13 to keep Tier 1 support for Intel macOS, but next year we'll have to drop support as well.
* ci: bundle wasm build output with demo into a single release ziprawan101012026-08-18
|
* ci: add nvim.wasm build and nightly releaserawan101012026-08-13
| | | | | Add a dedicated nvim.wasm build workflow and include the resulting WASM artifact in nightly releases.
* ci(reviewers): inline scripts, drop checkout #40413Justin M. Keyes2026-06-25
| | | | | | | | | | | | | Problem: - The `reviewers_add`/`reviewers_remove` CI jobs checkout the repo only for the purpose of `require('…/reviewers_add.js')`. - `reviewers_remove` also runs on `closed`, so a merged fork PR will trip the new allow-unsafe-pr-checkout guard of `actions/checkout@v7`. Solution: - Drop the use of `actions/checkout`. - Inline the script in the CI yaml definitions. - Also await the mutating calls (previously fire-and-forget) and guard empty reviewer lists.
* docs: misc #39511Justin M. Keyes2026-04-29
|
* docs: misc #39207Justin M. Keyes2026-04-20
|
* build: update clang v21, fix warningsdundargoc2026-04-14
| | | | | - `src/nvim/ex_cmds_defs.h`: use "U" instead of "u" per `readability-uppercase-literal-suffix`
* docs: lsp, options, api #38980Justin M. Keyes2026-04-14
| | | | | | | | | docs: lsp, options - revert bogus change to `_meta/builtin_types.lua` from 3a4a66017b74 Close #38991 Co-authored-by: David Mejorado <david.mejorado@gmail.com>
* build: noisy readability-implicit-bool-conversion warning #38282Justin M. Keyes2026-03-13
| | | | | | | | | Problem: clangd shows `Implicit conversion 'int' -> 'bool'` warnings. This is mostly noise in this codebase. Solution: - Disable the warning. - Get latest clang-tidy in CI.
* ci(deps): don't brew install ninja on macOSChristian Clason2026-02-18
| | | | | | | | Problem: `install_deps.sh` tries to install `ninja` on macOS, but it is installed on the runners by default, triggering warnings (and wasting time) on CI. Solution: Don't `brew install ninja`.
* fix(terminal): resuming doesn't work with command in fish (#37857)zeertzjq2026-02-14
| | | | | | | | | | | Problem: Resuming terminal process doesn't work with command in fish. Solution: Send SIGCONT to the entire process group. Use killpg() like what bash and zsh do on `fg`: https://cgit.git.savannah.gnu.org/cgit/bash.git/tree/jobs.c?id=637f5c8696a6adc9b4519f1cd74aa78492266b7f#n3928 https://sourceforge.net/p/zsh/code/ci/77045ef899e53b9598bebc5a41db93a548a40ca6/tree/Src/jobs.c#l2674 https://sourceforge.net/p/zsh/code/ci/77045ef899e53b9598bebc5a41db93a548a40ca6/tree/Src/signals.c#l538 Install fish on CI to test this.
* build: ship "_core/*" as bytecode (built-into Nvim binary)Justin M. Keyes2025-12-30
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: We want to encourage implementing core features in Lua instead of C, but it's clumsy because: - Core Lua code (built into `nvim` so it is available even if VIMRUNTIME is missing/invalid) requires manually updating CMakeLists.txt, or stuffing it into `_editor.lua`. - Core Lua modules are not organized similar to C modules, `_editor.lua` is getting too big. Solution: - Introduce `_core/` where core Lua code can live. All Lua modules added there will automatically be included as bytecode in the `nvim` binary. - Move these core modules into `_core/*`: ``` _defaults.lua _editor.lua _options.lua _system.lua shared.lua ``` TODO: - Move `_extui/ => _core/ui2/`
* ci: Windows arm64 packages #35345Wise Man2025-08-31
| | | | | | | | | | | | Problem: Neovim binaries are not provided for Windows ARM64. GitHub Actions now offer native CI runners for Windows on ARM devices (windows-11-arm), enabling automated builds and testing. Solution: - Modified CMake packaging to include packaging windows on arm binaries. - Modified env script to install and initialize vs setup for arm64 arch. Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* ci: add Riley to Treesitter reviewers (#34791)Maria José Solano2025-07-04
|
* ci: LSP reviewers #34790Maria José Solano2025-07-04
|
* ci(arm64): skip installing npm to prevent segmentation faultsdundargoc2025-02-08
| | | | | | | Installing npm on linux arm64 causes intermittent segmentation faults for unknown reasons. Closes https://github.com/neovim/neovim/issues/32339.
* ci(tests): add arm64 runnerChristian Clason2025-01-24
| | | | | | | Problem: Linux `aarch64`/`arm64` builds are not tested. Solution: Add `ubuntu-arm` runners to test matrix (using `RelWithDebInfo` build).
* ci: remove myself from lsp reviewersMathias Fussenegger2024-11-27
|
* ci: downgrade to clang 19dundargoc2024-11-09
| | | | | Clang 20 is still in development at the time of this commit and is unsuitable for CI.
* ci: adjust reviewersdundargoc2024-11-06
|
* docs: miscdundargoc2024-10-23
| | | | | | | Co-authored-by: David Pedersen <limero@me.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Leo Schlosser <Leo.Schlosser@Student.HTW-Berlin.de> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* ci: bump ubuntu runner version to ubuntu-24.04dundargoc2024-10-05
| | | | Also bump clang to version 20.
* feat(lsp): drop fswatch, use inotifywait (#29374)Andreas Schneider2024-07-06
| | | | | | | | | | | | | | This patch replaces fswatch with inotifywait from inotify-toools: https://github.com/inotify-tools/inotify-tools fswatch takes ~1min to set up recursively for the Samba source code directory. inotifywait needs less than a second to do the same thing. https://github.com/emcrisostomo/fswatch/issues/321 Also it fswatch seems to be unmaintained in the meantime. Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
* ci: update labeler configuration and add reviewersdundargoc2024-05-30
|
* build: remove nix flakes (#28863)dundargoc2024-05-24
| | | | | | | It does not work and we don't plan on maintaining these anymore. The flake files are being moved to https://github.com/nix-community/neovim-nightly-overlay/pull/516 instead.
* ci(labeler): adjust configurationdundargoc2024-05-14
|
* ci: use `--break-system-packages` on mac when installing pynvimdundargoc2024-03-29
| | | | | | | Python 3.12+ throws an error if you try to install a package in an externally managed environment. Using `--break-system-packages` is not recommended for personal use, but for CI it should be fine and is probably the most straightforward solution.
* ci: provide separate macos releases for intel and armdundargoc2024-03-24
| | | | | | This will immensely reduce the complexity required to support both architectures, reduce overall lines of code and unblock follow-up simplifications.
* ci: don't assign reviewers for "api" and "ui" labelsdundargoc2024-03-16
| | | | | The labels as they're currently defined are too broad to meaningfully add specific reviewers for them.
* ci: update clang version to 18dundargoc2024-03-16
| | | | This fixes the false TSAN errors in CI.
* feat(lsp): add fswatch watchfunc backendLewis Russell2024-03-01
| | | | | | | | | | | Problem: vim._watch.watchdirs has terrible performance. Solution: - On linux use fswatch as a watcher backend if available. - Add File watcher section to health:vim.lsp. Warn if watchfunc is libuv-poll.
* ci(release): run universal_macos build on M1 (#27505)Christian Clason2024-02-17
| | | | | | Run the release workflow on macos-14 to use faster M1 runners. Lock the deployment target to the oldest supported version (11.0, due to libuv support) instead of relying on the host OS version.
* build: various fixesdundargoc2024-02-01
| | | | | | | - Consistently use the variable CMAKE_BUILD_TYPE to select build type. - Remove broken `doc_html` target. - Remove swap files created by oldtest when cleaning. - Only rerun `lintdoc` if any documentation files has changed.
* ci: stale bot should close the issue with "not planned"Jongwook Choi2024-01-16
| | | | | | | | | | | Problem: When the stable bot automatically closes an issue, the issue will be marked as "closed as completed". It'd be better to mark the as "closed as not planned". Solution: Use `state_reason: "not_planned"` from the issues REST API. References (REST API): https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#update-an-issue
* ci: disable libintl on mac releasedundargoc2023-12-26
| | | | | The releases doesn't work on intel mac as libintl isn't available on the system by default. This makes `:language` not work for the shipped macos releases, though the reduction in build system complexity most likely outweighs that.
* ci: add gpanders as reviewer for defaults and tui labels (#26567)Gregory Anders2023-12-13
|
* ci: refactor CI filesdundargoc2023-12-09
| | | | | Mostly rename file and variable names to be more consistent. This makes it easier to locate them in the "Actions" tab on github.
* ci: bump actions/labeler from 4 to 5dundargoc2023-12-08
|
* vim-patch:9.0.1791: No tests for the termdebug pluginzeertzjq2023-11-09
| | | | | | | | | | | 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 <yegappan@yahoo.com>
* ci: don't install unzipdundargoc2023-11-05
| | | | It is no longer needed now that luarocks isn't used.
* ci: various fixesdundargoc2023-11-03
| | | | | | | - adjust reviewers - add workflow as cache key - install attr only when tesitng - fix s390x workflow by checking out the merge PR instead of master
* ci: use clang 17 as the default clang version is too olddundargoc2023-10-09
|
* ci: various cleanupsdundargoc2023-10-09
| | | | | - add reviewers - correct cache key
* ci: fix mac releasedundargoc2023-10-07
|
* vim-patch:9.0.1962: No support for writing extended attributeszeertzjq2023-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <cb@256bit.org>
* ci: remove container solution for the linux runnerdundargoc2023-09-09
| | | | | | | | 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.
* ci(response): use pagination for timeline eventsdundargoc2023-05-07
| | | | GitHub paginates responses with many results, which needs to be taken into account as the number of events in an issue can be large.
* ci: don't install unnecessary dependenciesdundargoc2023-05-01
|