aboutsummaryrefslogtreecommitdiff
path: root/.github
Commit message (Collapse)AuthorAge
...
* 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: 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: 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: update clang version to 18dundargoc2024-03-16
| | | | This fixes the false TSAN errors in CI.
* 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.
* 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.
* feat(docs): replace lua2dox.luaLewis Russell2024-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The documentation flow (`gen_vimdoc.py`) has several issues: - it's not very versatile - depends on doxygen - doesn't work well with Lua code as it requires an awkward filter script to convert it into pseudo-C. - The intermediate XML files and filters makes it too much like a rube goldberg machine. Solution: Re-implement the flow using Lua, LPEG and treesitter. - `gen_vimdoc.py` is now replaced with `gen_vimdoc.lua` and replicates a portion of the logic. - `lua2dox.lua` is gone! - No more XML files. - Doxygen is now longer used and instead we now use: - LPEG for comment parsing (see `scripts/luacats_grammar.lua` and `scripts/cdoc_grammar.lua`). - LPEG for C parsing (see `scripts/cdoc_parser.lua`) - Lua patterns for Lua parsing (see `scripts/luacats_parser.lua`). - Treesitter for Markdown parsing (see `scripts/text_utils.lua`). - The generated `runtime/doc/*.mpack` files have been removed. - `scripts/gen_eval_files.lua` now instead uses `scripts/cdoc_parser.lua` directly. - Text wrapping is implemented in `scripts/text_utils.lua` and appears to produce more consistent results (the main contributer to the diff of this change).
* ci(labeler_issue): split on word boundariescasswedson2024-02-18
| | | | | | | Splitting it on word boundaries rather than only spaces allows for better detection. The issue labeler previously didn't catch titles such as `treesitter: noisy "Invalid node type" error`. Co-authored-by: casswedson <casswedson@users.noreply.github.com>
* 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.
* ci: test on macOS M1 (#27276)Christian Clason2024-02-17
| | | | | | | Problem: No test coverage on ARM. Solution: Add `macos-14` tests, which now run on M1. Skip unit tests as these don't work on M1, see #26145. Also test universal build on M1. Note: `macos-14` will be `macos-latest` in Q2 2024, so we'll want to switch these to keep Intel and unittest coverage on macos (while GH still offers Intel runners).
* ci(test.yml): explicitly set build type (#27503)zeertzjq2024-02-17
| | | | | Explicitly set the build type for both deps and Nvim. They are already explicitly set on Windows to RelWithDebInfo. Now also explicitly set them to Debug on POSIX.
* ci(release): bump mac runner version to macos-12dundargoc2024-02-06
|
* 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.
* docs: update FAQ URLs #27236Justin M. Keyes2024-01-28
|
* docs: include backtrace for bug-crash #27065Jongwook Choi2024-01-28
| | | | | | | | | | | | Github Issue template: - Add pointers to |dev-tools-backtrace|. - Add pointers to CONTRIBUTING.md (Reporting Problems), which includes additional helpful instructions for issue reporting. - Search existing issues: include label `bug-crash` as well as `bug`. CONTRIBUTING.md: - Fix broken link on "stacktrace" after moving to help from wiki.
* build(docs): separate lint job to validate vimdoc #27227Jongwook Choi2024-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Separate the lint job (`make lintdoc`) to validate runtime/doc, it is no longer as a part of functionaltest (help_spec). Build (cmake) and CI: - `make lintdoc`: validate vimdoc files and test-generate HTML docs. CI will run this as a part of the "docs" workflow. - `scripts/lintdoc.lua` is added as an entry point (executable script) for validating vimdoc files. scripts/gen_help_html.lua: - Move the tests for validating docs and generating HTMLs from `help_spec.lua` to `gen_help_html`. Added: - `gen_help_html.run_validate()`. - `gen_help_html.test_gen()`. - Do not hard-code `help_dir` to `build/runtime/doc`, but resolve from `$VIMRUNTIME`. Therefore, the `make lintdoc` job will check doc files on `./runtime/doc`, not on `./build/runtime/doc`. - Add type annotations for gen_help_html.
* ci: update notes.mdJunghyeon Park2024-01-26
| | | | | Change the link to point to INSTALL.md. The contents were moved in https://github.com/neovim/neovim/pull/26533
* ci: bump cache action to version 4dundargoc2024-01-20
|
* 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(s390x): enable CI_BUILDdundargoc2024-01-14
|
* ci: write the correct cherry-picked commit id when backportingJongwook Choi2024-01-01
| | | | | | | | | | | | | Problem: Commits backport-merged to release branches are cherry-picked from the original commits in the PR from a fork repository, NOT the actual commit that are merged to neovim/neovim (HEAD). Therefore the commit reference in the commit message `cherry picked from commit ...` usually refers to a commit that does NOT exist in the repository, given that our preferred way of merging PR (rebasing, squashing, etc.) would rewrite commits. Solution: Turn on new feature 'detect_merge_method' of backport-action workflow.
* ci: add workflow_dispatch to optional.yml workflowdundargoc2023-12-29
| | | | This makes it convenient to test optional.yml on release branch.
* 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: remove winget workflowdundargoc2023-12-26
| | | | | | | | | All releases that aren't directly maintained by us should live in the `neovim/neovim-releases` repository to make it clear that neovim isn't directly responsible for it and to correctly manage expectations that it's provided on a best-effort case. Closes https://github.com/neovim/neovim/issues/26717.
* ci(release): create version tag after "stable" tag (#26671)zeertzjq2023-12-20
|
* ci(s390x): run build & test as a non-root userJames McCoy2023-12-18
|
* ci(s390x): double TEST_TIMEOUT since tests are running via qemuJames McCoy2023-12-18
|
* build: bump minimum cmake version to 3.13dundargoc2023-12-16
| | | | | | | | | | | The benefits are primarily being able to use FetchContent, which allows for a more flexible dependency handling. Other various quality-of-life features such as `-B` and `-S` flags are also included. This also removes broken `--version` generation as it does not work for version 3.10 and 3.11 due to the `JOIN` generator expression. Reference: https://github.com/neovim/neovim/issues/24004
* ci: bump actions/upload-artifact from 3 to 4dependabot[bot]2023-12-15
| | | | Uploads are significantly faster, upwards of 90% improvement in worst case scenarios.
* ci: bump actions/download-artifact from 3 to 4dependabot[bot]2023-12-15
| | | | | | | Notable changes: - Downloads are significantly faster, upwards of 90% improvement in worst case scenarios. - Artifacts can be downloaded from other workflow runs and repositories when supplied with a PAT.
* ci: bump github/codeql-action from 2 to 3dependabot[bot]2023-12-14
| | | | | | Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2...v3)
* ci: add gpanders as reviewer for defaults and tui labels (#26567)Gregory Anders2023-12-13
|
* docs: move minimum reproduction template from wiki to repodundargoc2023-12-12
| | | | | Instead of a markdown file, just use a lua file instead that users can use directly.
* ci: fix PR labelerzeertzjq2023-12-10
|
* 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
|
* ci: remove python workarounddundargoc2023-12-08
| | | | The provider tests seems to work now without this workaround.
* ci: use the latest stylua versiondundargoc2023-12-05
| | | | | Using `jq` is not needed as github provides a "latest" shortcut to do what download the latest release.
* ci: create setup actiondundargoc2023-12-01
| | | | This deduplicates common operations.
* ci(release): perform a full checkout when building (#26323)zeertzjq2023-11-30
| | | Ref #13471
* ci: fix api-docs workflowdundargoc2023-11-27
| | | | | `git diff-index` only works for tracked files, and unchanged documentation files counts as untracked when shallow cloning.
* docs: recommend testing nightly or stable for bug reportsdundargoc2023-11-25
|