diff options
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r-- | CONTRIBUTING.md | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 03fe48fed7..ce0f2ace05 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,7 +11,10 @@ low-risk/isolated tasks: - Fix bugs found by [Clang](#clang-scan-build), [PVS](#pvs-studio) or [Coverity](#coverity). - [Improve documentation](#documenting) -- [Merge a Vim patch] (familiarity with Vim is *strongly* recommended) +- [Merge a Vim patch] (requires strong familiarity with Vim) + - NOTE: read the above link before sending improvements to "runtime files" (anything in `runtime/`). + - Vimscript and documentation files are (mostly) maintained by [Vim](https://github.com/vim/vim), not Nvim. + - Lua files are maintained by Nvim. Reporting problems ------------------ @@ -113,10 +116,7 @@ Each pull request must pass the automated builds on [Cirrus CI] and [GitHub Acti - CI builds are compiled with [`-Werror`][gcc-warnings], so compiler warnings will fail the build. -- If any tests fail, the build will fail. - See [test/README.md#running-tests][run-tests] to run tests locally. - Passing locally doesn't guarantee passing the CI build, because of the - different compilers and platforms tested against. +- If any tests fail, the build will fail. See [test/README.md#running-tests][run-tests] to run tests locally. - CI runs [ASan] and other analyzers. - To run valgrind locally: `VALGRIND=1 make test` - To run Clang ASan/UBSan locally: `CC=clang make CMAKE_FLAGS="-DCLANG_ASAN_UBSAN=ON"` @@ -124,6 +124,8 @@ Each pull request must pass the automated builds on [Cirrus CI] and [GitHub Acti neighbors_, to encourage incrementally updating the legacy style to meet our [style](#style). (See [#3174][3174] for background.) - CI for FreeBSD runs on [Cirrus CI]. +- To see CI results faster in your PR, you can temporarily set `TEST_FILE` in + [ci.yml](https://github.com/neovim/neovim/blob/e35b9020b16985eee26e942f9a3f6b045bc3809b/.github/workflows/ci.yml#L205). ### Clang scan-build @@ -244,9 +246,14 @@ You can lint a single file (but this will _not_ exclude legacy errors): For managing includes in C files, use [include-what-you-use]. - [Install include-what-you-use][include-what-you-use-install] -- Run with: +- To see which includes needs fixing use the cmake preset `iwyu`: ``` - make CMAKE_EXTRA_FLAGS=-DCMAKE_C_INCLUDE_WHAT_YOU_USE=include-what-you-use | tee iwyu.txt + cmake --workflow --preset iwyu + ``` +- There's also a make target that automatically fixes the suggestions from + IWYU: + ``` + make iwyu ``` See [#549][549] for more details. |