aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
Commit message (Collapse)AuthorAge
* ci(vim-patches): fix failing workflowdundargoc2025-02-04
|
* ci!: store artifact shasums in a single shasum.txt filedundargoc2025-01-29
| | | | Users can parse this file to get the shasum they require.
* ci(release)!: remove backwards compatible releasesdundargoc2025-01-28
| | | | | | | Remove `nvim-linux64.tar.gz` and `nvim.appimage` as maintaining these is too much work. Also fix directory names to be consistent.
* ci(release): add linux-arm64 appimage and tarballChristian Clason2025-01-27
| | | | | | | Problem: No releases for ARM Linux. Solution: Provide appimages and tarballs for `linux-arm64`. Rename x86 releases to `linux-x86_64` for consistency.
* ci(tests): remove build-types jobsChristian Clason2025-01-24
| | | | | | | | Problem: Some CI jobs are redundant: `RelWithDebInfo` is already tested on Linux-Arm64; `MinSizeRel` and Ninja Multi Config are not sufficiently relevant in practice to spend CI cycles on. Solution: Remove `build-types` job.
* 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(news): treat deprecated.txt as part of news.txtdundargoc2025-01-20
| | | | | This is because we reference to deprecated.txt from news.txt, so deprecation news updates are made only in deprecated.txt.
* docs: misc #31867Justin M. Keyes2025-01-09
|
* ci(news): trigger job for `perf` commit typedundargoc2024-12-31
| | | | | There is a "performance" section in news.txt so it makes sense we should also give a reminder to update news for performance improvements.
* ci(build.yml): disable security restrictiondundargoc2024-12-16
| | | | | | A new security restriction in Ubuntu 24.04 prevents users from using `unshare`, so we need to disable it in order for the test to work properly.
* ci: run tests directly rather than via the MakefileJames McCoy2024-12-03
| | | | Since the Makefile is not used to build, running the tests via the Makefile causes cmake to reconfigure and revert the release build back to debug.
* ci(test): remove the .git directory for LinuxJames McCoy2024-12-03
| | | | | | | Tests should not rely on being run inside a git clone, so the Linux builds cover this use case. The macOS builds will continue running with the .git directory so there's still unix-ish coverage within a git clone.
* ci: run one set of tests with a release buildJames McCoy2024-12-03
| | | | | | This ensures that no tests fail due to differences between release and debug builds. The release build-type check is now unnecessary, too, so remove it.
* ci(win): remove python workaround (#31212)Christian Clason2024-11-15
| | | Explicitly installing Python 3.13 using (deprecated version of) `setup-python` looks to be no longer required for provider tests to pass.
* ci: work around flaky python tests (#31063)dundargoc2024-11-03
| | | | | It's the same workaround as 88ed9ffcd1c022811ebc8818e153fe94e4741671, which was later removed in f707ce76acb86e064d549dc762f5636af072d3c5 after it turned out to be stable after a while.
* ci: bump Intel macOS runners to 13Christian Clason2024-10-19
| | | | | | Problem: macos-12 GH runners are deprecated and will be removed soon. Solution: use macos-13 runners instead.
* ci: bump macos runner version to macos-15dundargoc2024-10-06
|
* ci: bump ubuntu runner version to ubuntu-24.04dundargoc2024-10-05
| | | | Also bump clang to version 20.
* docs: lua error patterns #30240Justin M. Keyes2024-09-24
| | | | Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net> Co-authored-by: Ananth Bhaskararaman <antsub@gmail.com>
* build: bump minimum cmake version to 3.16dundargoc2024-09-21
|
* ci: skip automerge step if backport faileddundargoc2024-09-14
|
* ci: don't add reviewers for PRs created by a botdundargoc2024-09-13
| | | | | | | This will ensure automatic backports created by the backport action does not request reviewers (since the commit in question has already been vetted and merged), but manual backports created by users does request reviewers as these commits has not been vetted previously.
* ci: add `needs:backport` label on backport PRs with conflictdundargoc2024-09-13
| | | | | This makes it easy to keep track of which backport PRs have failed and need manual intervention to fix.
* ci: enable automerge by default when backportingdundargoc2024-09-13
| | | | | This will automatically merge backported PRs without human intervention if the tests pass.
* fix(build): issues with s390x CIbfredl2024-08-29
| | | | | Does not fix everything, but at least let's test run to finish before timeout
* feat(treesitter): add support for wasm parsersLewis Russell2024-08-26
| | | | | | | | | | | | | | | | | | | | Problem: Installing treesitter parser is hard (harder than climbing to heaven). Solution: Add optional support for wasm parsers with `wasmtime`. Notes: * Needs to be enabled by setting `ENABLE_WASMTIME` for tree-sitter and Neovim. Build with `make CMAKE_EXTRA_FLAGS=-DENABLE_WASMTIME=ON DEPS_CMAKE_FLAGS=-DENABLE_WASMTIME=ON` * Adds optional Rust (obviously) and C11 dependencies. * Wasmtime comes with a lot of features that can negatively affect Neovim performance due to library and symbol table size. Make sure to build with minimal features and full LTO. * To reduce re-compilation times, install `sccache` and build with `RUSTC_WRAPPER=<path/to/sccache> make ...`
* build(deps): vendor libvterm at v0.3.3Christian Clason2024-08-10
| | | | | | | | Problem: Adding support for modern Nvim features (reflow, OSC 8, full utf8/emoji support) requires coupling libvterm to Nvim internals (e.g., utf8proc). Solution: Vendor libvterm at v0.3.3.
* vim-patch:9.1.0661: the zip plugin is not tested. (#29993)zeertzjq2024-08-06
| | | | | | | | | | Problem: the zip plugin is not tested. Solution: include tests (Damien) closes: vim/vim#15411 https://github.com/vim/vim/commit/d7af21e746f3992c650caf6b76465880b96302b4 Co-authored-by: Damien <141588647+xrandomname@users.noreply.github.com>
* build(deps): remove libtermkey dependencyGregory Anders2024-08-05
| | | | It's been vendored since https://github.com/neovim/neovim/pull/25870.
* build(deps): remove msgpack-c dependencybfredl2024-08-05
|
* ci: always add `target:release` label when backportingdundargoc2024-07-21
| | | | | | Previously the label was not added if the backport PR was created manually. The new code is also easier to maintain as it's close to other label-related code.
* ci: skip lintcommit workflow on release branchesdundargoc2024-07-17
| | | | | | | | | | | Since lintcommit is a required check, it will always need to be run. However, the lintcommit script is not designed to work on PRs that doesn't target master branch (and it's not clear whether it's even desirable). To circumvent this we create a "dummy" lintcommit check that is run on release branches that always passes, thus fulfilling the condition of the required check.
* ci: remove "skip ci" tagdundargoc2024-07-17
| | | | | We can't skip CI runs as there are required checks that needs to always be run.
* ci: run workflows on release branchesdundargoc2024-07-16
| | | | | | | | | | | Github doesn't allow workflows to be run from the `github-actions` account, which is the default account. This caused the CI on backport PRs to not be run. The way to circumvent this is to use a token that essentially "pretends" to be another user, which in turn triggers the CI as desired. Also run lintcommit on release branches as that is now a required check, meaning it must always be run.
* ci: adjust workflows to enable required checksdundargoc2024-07-15
| | | | | | | | | | | | | | Auto-merging is a useful feature by github, but it requires required checks which requires a few adjustments. The primary change is that required checks can't use `paths` or `paths-ignore` as that risks not running the job, and required checks must always be run. A workaround for this is to introduce a dummy workflow which is used for every path not used in the real workflow. That way the required job is "always" run as far as github is concerned. The workaround is unweildly so it's only useful to do it for costly workflows where the potential benefits are big. If not it's better to simply remove any `paths` or `paths-ignore` from a workflow instead.
* ci: bump backport action to version 3dundargoc2024-05-27
|
* ci: change label `backport` to `target:release`dundargoc2024-05-17
| | | | | `backport` is too similar `ci:backport release-x.y` and causes confusion.
* ci(build): use latest over explicit image versiondundargoc2024-05-11
| | | | | These jobs should be safe to just use the latest as there's not many moving parts as opposed to `test.yml`.
* ci: don't try to label backport PR if it was not createddundargoc2024-05-02
|
* ci: improve default backport pull request titledundargoc2024-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | `[Backport release-x.y]` will no longer be part of the pull request title. This means the PR titles will go from looking like ``` [Backport release-0.9] fix(languagetree): remove double recursion in LanguageTree:parse ``` to ``` fix(languagetree): remove double recursion in LanguageTree:parse ``` The benefit of this is that pull requests merged with the "Squash and Merge" strategy (which uses the PR title as the commit message), will still follow the conventional commits specification. This will help tools that rely on conventional commits such as git-cliff. The `backport` label is added to backported PRs to help distinguish between backport PRs with regular PRs in the "Pull Requests" tab on github. To reduce confusion with the `backport` label, the label to trigger the backporting has been changed from `backport release-x.y` to `ci:backport release-x.y`. This is also more consistent with other labels that trigger a CI job which all use the `ci:` prefix.
* ci: update vim_patches.yml to follow conventional commitsdundargoc2024-05-01
| | | | | | | | | | | | | | This will change the commits messages from ``` version.c: update [skip ci] ``` to ``` docs: update version.c [skip ci] ```
* ci: enable unittests on macos-14Joey Gouly2024-04-14
| | | | | | | | | | | | | | | | | | | | | Add more filters so that LuaJIT can parse headers on macOS 14. The system headers use a style of enum introduced in C++11 (and allowed as an extension in C by clang) of the form: enum Name : Type { The system headers also use bitfields in the mach_vm_range_recipe* types: struct Foo { int bar : 32; } Neither of these constructs can be parsed by LuaJIT, so filter the lines out. Neither of these declarations are used by neovim's unittests. There is a (now closed) issue about bitfields for LuaJIT: https://github.com/LuaJIT/LuaJIT/issues/951 Fixes #26145.
* 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.
* docs: fix typos (#27868)dundargoc2024-03-28
| | | | | | | | | Co-authored-by: ite-usagi <77563904+ite-usagi@users.noreply.github.com> Co-authored-by: v-sim <56476039+v-sim@users.noreply.github.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Quico Augustijn <quico.public@gmail.com> Co-authored-by: nhld <nahnera@gmail.com> Co-authored-by: francisco souza <108725+fsouza@users.noreply.github.com>
* ci: add workflow_dispatch event to testing workflowsdundargoc2024-03-27
| | | | This allows us to easily test the release branch if needed.
* ci: use the same logic to determine build type for all releasesdundargoc2024-03-25
|
* 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(windows): optionally test windows with ASANdundargoc2024-03-23
| | | | Add the label `ci:windows-asan` to enable it.
* ci: simplify concurrency stringdundargoc2024-03-16
| | | | | | | `github.ref` is now defined for both pull requests and pushes, meaning that it can be used to simplify the concurrency group. `cancel-in-progress` is set to true only if the trigger is a pull request, as we don't want master runs to cancel each other out.
* ci: allow skipping news workflow with a labeldundargoc2024-03-08
| | | | | | | | | | Setting the label `ci:skip-news` will skip the job. This is useful for maintainers to indicate to contributors that a feature isn't big enough to warrant a news entry, or for contributors who dislike red CI even if there's nothing wrong. Also change label `ci-s390x` to `ci:s390x`; this way it'll be easier to see that `ci:` are a subcategory of labels that affect CI in some way.