aboutsummaryrefslogtreecommitdiff
path: root/.github
Commit message (Collapse)AuthorAge
* ci!: remove the .deb release (#22773)dundargoc2023-04-05
| | | | | | | | | | | | | | | | | | | Having multiple release artifacts per platform is a maintenance burden. Furthermore, it is a maintenance burden that doesn't directly improve the Nvim editor itself. The releases are meant to be a quick way for users to try out and use neovim on their platform and was never intended to be a buffet of releases for every conceivable setup. Users are encouraged to the following replacements: - Github action `action-setup-vim` to have neovim installed on their PATH for their CI jobs. See https://github.com/rhysd/action-setup-vim. - Use the appimage, either as is or by extracting it - To use as is, run `chmod u+x nvim.appimage && ./nvim.appimage` - If your system does not have FUSE you can extract the appimage with `./nvim.appimage --appimage-extract && ./squashfs-root/usr/bin/nvim` - Build it manually. See https://github.com/neovim/neovim/wiki/Building-Neovim. Work on https://github.com/neovim/neovim/issues/22684
* refactor(treesitter): delegate region calculation to treesitter (#22576)Lewis Russell2023-04-04
|
* ci: update reviewersdundargoc2023-04-02
|
* ci: use "ci" as the commit type for dependabot updatesdundargoc2023-03-24
|
* build(deps): bump actions/stale from 7 to 8dependabot[bot]2023-03-23
| | | | | | Bumps [actions/stale](https://github.com/actions/stale) from 7 to 8. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/v7...v8)
* ci(labeler): don't automatically add "lua" label (#22765)zeertzjq2023-03-23
| | | | | The labeler adds "lua" label to too many files. When there is already a "treesitter" or "lsp" label, a "lua" label isn't useful. Instead it's better to add the label manually to PRs for general Lua support.
* build!: rename sanitizer options from CLANG_* to ENABLE_*ii142023-03-17
|
* ci: bump to windows 2022dundargoc2023-03-11
| | | | Skip failing funcitonaltests. Use jobstart() instead termopen() for oldtests to prevent CI freezing.
* ci: skip ruby provider tests on Windowsdundargoc2023-03-11
| | | | | Installing the ruby provider takes anything between 1 and 1.5 minutes on Windows, which is a big drain on our CI. Remove it until we find a more sustainable solution.
* ci: don't install unused packagesdundargoc2023-03-11
| | | | | | | | | | The lua client is no longer needed after d6279f9392073cb1422d76c57baf3fd283ed954e. One of its dependencies, mpack, is still needed however. Remove lua-nvim and replace it with lua-mpack. The other packages are most likely not needed as we no longer run tests for external dependencies.
* ci: test build with external dependencies on every pull requestdundargoc2023-03-11
| | | | | | Only testing the build with external dependencies on build system changes is too naive, as demonstrated by b9f19d3e286d95d9209afbc479fa2eb908067fb1.
* ci: remove environment variable DEPS_BUILD_DIR from CIdundargoc2023-03-11
| | | | | | If one uses .deps when DEPS_BUILD_DIR is defined in another location it leads to very surprising behaviors, as it looks for libraries in other places other than .deps.
* ci(news): don't run on draft (#22574)Christian Clason2023-03-08
|
* refactor(build): make installation of runtime/ more effectivebfredl2023-03-07
| | | | | | | | | | | | | | | | | | | Currently files to install in runtime/ is detected by recursive glob pattern which has two problems: - cmake needs to do a of work at config time and build/runtime/cmake_install.cmake becomes HUGE (2.5MB, biggest config file) - we need to explicitly specify each file suffix used in the entire runtime, which is duplication of information. These globs specify every single file in a subdirectory. Thus, we can just install every runtime/ subdirectory as a single install command. Furthermore, at the top-level, only .vim and .lua files need to be installed. Further possible refactor: we could move files which does not belong in $PREFIX/runtime out of $REPO/runtime. Then runtime could be installed with a single install_helper(DIRECTORY ...) command.
* test: move oldtests to test directory (#22536)dundargoc2023-03-07
| | | | | The new oldtest directory is in test/old/testdir. The reason for this is that many tests have hardcoded the parent directory name to be 'testdir'.
* ci: remove core dump checking from test.ymldundargoc2023-03-05
| | | | | There is already a superior core dump check in test/helpers.lua, which makes this obsolete.
* ci: use the same deps directory location for all jobsdundargoc2023-03-05
| | | | | | | | Having separate directory location causes failures to be inconsistent and ultimately confusing. A common problem is a file with a particular name is searched for the entire repository, which gives different results if the dependency directory is inside the neovim directory or outside of it.
* ci: move configuring cmake to the build part of the CIdundargoc2023-03-04
| | | | If the configuration fails then lints shouldn't be run, as most lint steps depends on a successful configuration.
* ci: build all build types on each PR (#22441)dundargoc2023-02-27
| | | | | | Building with Release and RelWithDebInfo build types only on build system changes is too optimistic, as shown by https://github.com/neovim/neovim/pull/22436 and 659234c95a23307486a4b7496f3f4391a4bdbe58.
* docs: naming conventions, guidelinesJustin M. Keyes2023-02-22
| | | | close #21063
* ci: use multi-config generator on the multi-config test (#22352)dundargoc2023-02-21
|
* ci(backport): bump zeebe-io/backport-action from 0 to 1 (#22348)dundargoc2023-02-21
| | | | Notable changes are performance increases for fetching repositories and simpler workflow file.
* ci: add dependabot to auto-update github actions (#22341)Vedant2023-02-20
| | | This will ensure we don't accidentally have outdated actions.
* fix(ci/release/winget): bump action versionVedant2023-02-20
|
* docs: fix typos (#21961)dundargoc2023-02-20
| | | Co-authored-by: Ben Morgan <cassava@iexu.de>
* ci: enable CI_BUILD automatically if environment variable CI is true (#22312)dundargoc2023-02-18
| | | | | | | 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.
* build: test multi-config generator (#22310)dundargoc2023-02-18
| | | | | | Multi-config generators can be tricky so testing them would be good. Also test GCC release and MinSizeRel build types as they're prone to unusual warnings. Remove release testing from test.yml as this is a sufficient replacement.
* ci: split ci.yml into a test workflow and a build test workflow (#22302)dundargoc2023-02-18
| | | | | Having a workflow that only builds neovim without running all of the tests is a cheap way to test the build still works without burning too much CI time.
* ci: remove former dependencies that are no longer needed (#22301)dundargoc2023-02-18
| | | | | | | | | 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
* ci: change functionaltest timeout to 20 minutes (#22294)zeertzjq2023-02-17
| | | 15 minutes is too short for TSAN.
* fix: lsp github issue template example (#22285)Kiyoon Kim2023-02-16
|
* ci: add GCC Release testing (#22274)dundargoc2023-02-16
| | | | | | | | ci: add GCC release testing We currently have no release testing, so it's good to check for any unwanted behavior on release builds as well. Prefer GCC over clang, as GCC release builds seem to create more warnings on release compared to debug.
* ci: automatically maximize MIN_LOG_LEVEL if CI detected (#22248)dundargoc2023-02-13
| | | | | Detect if on CI by checking that the CI environment variable is set to "true". This is a common pattern among CI providers, including github actions and cirrus.
* ci: replace cmake script with bash script (#22246)dundargoc2023-02-13
| | | | Bash has better error handling than cmake, and seem overall slightly more suited to scripting than cmake.
* ci: install dependencies with a single script (#22241)dundargoc2023-02-12
| | | It's easier if the os-specific installations are done by the script itself
* ci: remove unnecessary matrix from codeql workflow (#22239)dundargoc2023-02-12
|
* ci: inline external environment scripts (#22237)dundargoc2023-02-12
| | | | Scripts that define the build itself shouldn't be external as they lead to hard to find bugs.
* ci: convert environment variables to matrix variables (#22224)dundargoc2023-02-12
| | | | Having as few indirections as possible makes it easier to understand the code.
* ci: delete ci/ (#22227)dundargoc2023-02-12
| | | | | | | | | | | | | | | | | | | | | | | | Having CI scripts that is separate from the build system causes tremendous amounts of problems, headaches and bugs. Testing the validity of the scripts locally become near impossible as time goes on as they're only vetted if it works on whatever CI provider we happened to have at the time, with their own quirks and behavior. The extra indirection between "cmake <-> general CI scripts <-> GHA" is also a frequent source of problems, as the orchestration needs to be done with environment variables, cmake flags and github actions matrix strategy. This combination has turned out to be exceptionally fragile. Examples: https://github.com/neovim/neovim/commit/15394b6855c3b17be06bf2bfbac7797d9c3ebf1d https://github.com/neovim/neovim/commit/13aa23b62af4df3e7f10687b76fe8c04efa2a598 https://github.com/neovim/neovim/pull/22072#discussion_r1094390713 A lot of the code was inlined to .github/workflows/ci.yml without further modifications. While this in itself doesn't integrate with our build system any more than the current situation, it does 1. remove a level of indirection, and more importantly 2. allow us to slowly start integrating the CI into our build system now that all the relevant code is in one place.
* ci: show all logs at the end of a run (#22226)dundargoc2023-02-11
| | | | | | * ci: show all logs at the end of a run The current CI won't show the logs on error due to early exit. This will at least show the logs, although for all tests at once.
* ci: inline build commands and remove before_script.sh (#22202)dundargoc2023-02-11
| | | | Abstracting the build commands to a separate script makes it more difficult to reason about it and more error-prone.
* ci: run lintcommit file from PR branch (#22219)dundargoc2023-02-11
| | | | As the trigger type is no longer pull_request_target there is no longer any risk of using the lintcommit script directly from the user PR.
* ci: remove reviewers from the refactor label (#22216)dundargoc2023-02-11
| | | Anyone can review a refactor depending on what's being refactored.
* build(ci): let ASAN print tracebacks for more errors (SIGABORT, SIGILL)bfredl2023-02-10
|
* ci: remove unnecessary environment variables (#22175)dundargoc2023-02-10
|
* ci: split functionaltest-lua into two separate jobs (#22201)dundargoc2023-02-10
| | | | | | | | | | More specifically, move the job testing the oldest supported cmake into its own job. This opens the way for other jobs to use powerful and advanced cmake features such as choosing which files to use with the -S flag. Removed testing from this job as this probably won't reveal anything that other jobs already doesn't already show, since the only difference is the cmake version.
* ci(lintcommit): turn off debug tracing (#22196)dundargoc2023-02-09
| | | | The default output is too verbose and messy for someone not already familiar with lintcommit, which defeats it purpose.
* ci: remove base branch from cache key (#22195)dundargoc2023-02-09
| | | | | | | Using the base branch as cache means that pull requests won't be able to use the cache from the master branch, since the master branch cache doesn't have a base_ref as it's generated from a push. Removing base_ref makes the cache key from master and PR branch the same, provided the any build files don't change.
* ci: inline internal caching script to Github actions (#22192)dundargoc2023-02-09
| | | | | I don't think it's possible to meaningfully abstract away caching on multiple providers, as each provider has different mechanisms on how they work.
* ci: add individual timeout limits for all tests (#22193)dundargoc2023-02-09
| | | | | The CI somtimes freezes on a specific test, wasting 45 minutes for the entire job. Adding a timeout of 15 minutes to functionaltest and 5 minutes to unittests will mitigate the problem.