aboutsummaryrefslogtreecommitdiff
path: root/.github
Commit message (Collapse)AuthorAge
* ci: add codeql action (#19810)Christian Clason2022-08-18
| | | | replaces deprecated LGTM workflow: https://github.blog/2022-08-15-the-next-step-for-lgtm-com-github-code-scanning/
* ci(lint): separate lintc from lintLewis Russell2022-08-14
| | | | All steps in lint now do now require a Neovim build.
* ci(lint): move some steps before buildLewis Russell2022-08-14
|
* ci(line): lintcfull -> lintcLewis Russell2022-08-14
| | | | | | | lintcfull == lintc + uncrustify We are already running uncrustify separately so can just run lintc instead.
* ci(lint): run uncrustify earlierLewis Russell2022-08-14
|
* ci(lint): generate PR suggestions from uncrustifyLewis Russell2022-08-14
|
* ci(release): move release-winget steps into release job #19689Vedant2022-08-13
|
* ci(cache): remove ccacheLewis Russell2022-08-12
| | | | It was never in action since migrating from travis to github actions.
* ci(release): build with standard gcc on UbuntuChristian Clason2022-08-09
| | | | Ubuntu-20.04 ships with GCC 10.3.0, which is enough to avoid #14150
* ci(release): bump deprecated ubuntu image to 20.04Christian Clason2022-08-09
| | | | | `ubuntu-18.04` is now deprecated and subject to outages, see https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/
* ci(distribution): auto-release winget #19121Vedant2022-07-25
| | | | | - forked winget-pkgs to https://github.com/neovim/winget-pkgs - key stored in WINGET_TOKEN at https://github.com/neovim/neovim/settings/secrets/actions - deploy key public key stored at https://github.com/neovim/winget-pkgs/settings/keys
* ci(release): use cpack on macOS #19459Carlo Cabrera2022-07-22
| | | | We use `cpack` to generate the release tarballs on Linux. Now that we don't need to bundle `libintl`, we can do the same on macOS.
* ci(labeler): do not add "column" label for mark.{c,h} (#19455)zeertzjq2022-07-21
|
* ci: test only a single macos version (#19418)dundargoc2022-07-18
| | | | The differences in MacOS releases are smaller since they're now upgraded yearly, meaning the need to test each version is reduced.
* ci(windows): config and build before publish step (#19416)kylo2522022-07-18
| | | | Problem: Windows package step failed (silently). Solution: Make sure to configure cmake before attempting to build the package target.
* ci: refactor build.ps1 #19336kylo2522022-07-17
| | | | | | | | | | | | Refactor `build.ps1` into a more modular design https://github.com/neovim/neovim/blob/9728f3b558c8cf9bd2bc331de8a5cc80ba0d3797/.github/workflows/ci.yml#L283-L296 - Separate CI steps. - Remove unneeded code related to setting up CMake. - Use parallel/incremental builds. - Fix github's cache. - Clear the way for the possibility of replacing this file with a cmake-preset: https://github.com/neovim/neovim/pull/19128
* ci: remove unnecessary file run_lint.shDundar Goc2022-07-11
| | | | | | It's a leftover artifact that currently just acts as an unnecessary intermediary script that calls the Makefile. It can be replaced by just calling the Makefile directly.
* ci(release): link `gettext` include directoryCarlo Cabrera2022-06-29
| | | | | | Our previous mangling of gettext broke the `HAVE_WORKING_LIBINTL` test because it prevented CMake from finding `libintl.h`. Let's fix that by linking Gettext's `include` directory into `/usr/local` too.
* build: rename build-related dirsJustin M. Keyes2022-06-28
| | | | | | | | | | | | | | Problem: Dirs "config", "packaging", and "third-party" are all closely related but this is not obvious from the layout. This adds friction for new contributors. Solution: - rename config/ to cmake.config/ - rename test/config/ to test/cmakeconfig/ because it is used in Lua tests: require('test.cmakeconfig.paths'). - rename packaging/ to cmake.packaging/ - rename third-party/ to cmake.deps/ (parallel with .deps/)
* refactor(ci): cleanup release.yml #19132Vedant2022-06-28
|
* docs(release): suggest "xattr" for macos release #19100Carlo Cabrera2022-06-26
|
* ci(release): build a universal binary on macOSCarlo Cabrera2022-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | After some tweaks to our dep builds, we can now build a universal binary for macOS by using `CMAKE_OSX_ARCHITECTURES`. So, let's do that. This requires a number of additional changes: 1. We need to build on macOS 11, since earlier versions do not support building universal (M1 + Intel) binaries. 2. We need to provision a universal `libintl`. The linker will look for an ARM64 version of this library when linking the `nvim` binary. While we're here: 1. Link statically to `libintl`. This allows to to avoid having to do any install name rewriting or codesigning to package Neovim. 2. Bump the `MACOSX_DEPLOYMENT_TARGET` to `11`. We're already using a `libintl` built by Homebrew (through the pre-installed version of `gettext`), and that is built for macOS 11. In order to ensure we link to `libintl.a` instead of `libintl.dylib`, we have to make sure that CMake can't find the latter. This ideally should be a matter of doing `brew unlink gettext`. However, CMake is too adept at finding things that Homebrew has installed (even when not linked), so we have to do a bit more than that. This appears in the additional step ensuring static linkage to `libintl`. We end up breaking some Homebrew-installed software in the process, and some of these software is called during our build (e.g. curl, git, wget). To avoid any adverse effects, let's just uninstall them.
* ci(release): skip CoreServices system library on macOS (#19021)Christian Clason2022-06-19
| | | | | | | | | | Problem: The release script bundles a system library (CoreServices) that was added in #18294, which leads to errors on M1 since the architecture is different from the Github runner. Solution: Skip CoreServices when bundling the libraries (as was done for the CoreFoundation library that #18294 replaced with CoreServices).
* build: add a cmake target for all used linters #18543dundargoc2022-06-09
| | | | | | | | | * build: move the logic for linters to cmake Cmake is our source of truth. We should have as much of our build process there as possible so everyone can make use of it. * build: remove redundant check for ninja generator The minimum cmake version as of writing this is 3.10, which has ninja support.
* ci: run tests with no treesitter parsers installedJames McCoy2022-06-08
|
* Merge pull request #18788 from dundargoc/ci/api-docs/colorJames McCoy2022-06-08
|\ | | | | ci(api-docs): show required changes with color
| * ci(api-docs): show required changes with colorDundar Goc2022-05-28
| | | | | | | | It makes it easier to see what needs to be changed.
* | Merge pull request #18789 from dundargoc/ci/api-docs/run-in-draftsJames McCoy2022-05-29
|\ \ | | | | | | ci(api-docs): run in drafts as well
| * | ci(api-docs): run in drafts as wellDundar Goc2022-05-29
| | | | | | | | | | | | | | | A contributor should be able to be sure their PR passes the CI before clicking "Ready for review".
* | | ci(uncrustify): show diff on failure #18780dundargoc2022-05-28
|/ / | | | | | | This will make it possible to see what needs to be fixed without having uncrustify installed locally.
* / ci: use ubuntu-latest for vim-patches and coverity-scanJames McCoy2022-05-28
|/ | | | | | Since we're not running tests or other things that are more sensitive to changes in the VM environment, use ubuntu-latest to avoid the busy work of updating the VM image.
* Merge pull request #18728 from dundargoc/ci/api/upgrade-to-ubuntu-22James McCoy2022-05-24
|\ | | | | ci(api-docs): upgrade to ubuntu 22 and remove conda dependency
| * ci(api-docs): upgrade to ubuntu 22 and remove conda dependencyDundar Goc2022-05-24
| | | | | | | | | | | | Ubuntu 22 has doxygen version 1.9.1 available in apt, which means we don't need to use conda anymore. This will somewhat simplify the workflow.
* | ci(api-docs): add comment explaining why full clone is requiredDundar Goc2022-05-24
|/
* ci(commitlint): only trigger on PRs to master #18679dundargoc2022-05-22
| | | | This will prevent a failure for backported PRs as they use a different commit message.
* ci: bump github actions versions #18616dundargoc2022-05-20
|
* ci: lint with uncrustify #18563dundargoc2022-05-20
| | | | | | | This lint job will ensure that the C codebase is properly formatted at all times. This helps eliminate most of clint.py. To save CI time, it's faster to manually compile uncrustify and cache the binary instead of using homebrew (the apt-get package is too old).
* ci(coverity): run every day instead of once/weekJames McCoy2022-05-20
| | | | | Neovim currently falls in the 100 kLOC - 500 kLOC bucket, which can scan 3x/day.
* ci(coverity): correct cron job time #18590zeertzjq2022-05-16
| | | | The comment says it should be run at 00:10 UTC, and in cron job format minutes come before hours.
* ci: remove mingw job #18580dundargoc2022-05-15
| | | | | | | | | | | | | | | | | | | | Unnecessary CI builds increase the change of spurious failures, which are costly noise. Of course, we should fix all legitimate bugs, but we also cannot micro-manage every platform, so there needs to be a clear motivation for the CI builds that we maintain. Reasons against maintaining a mingw CI job: 1. The windows mingw build is slow. 2. Failures: - https://github.com/neovim/neovim/issues/18494 - https://github.com/neovim/neovim/issues/18495 3. The mingw artifact is 10x bigger than the windows MSVC artifact: https://github.com/neovim/neovim/issues/10560 4. Our releases publish the MSVC (not mingw) artifact for Windows users: https://github.com/neovim/neovim/releases 5. Non-MSVCRT has limitations documented by libuv: http://docs.libuv.org/en/v1.x/process.html > On Windows file descriptors greater than 2 are available to the child process only if the child processes uses the MSVCRT runtime. Closes https://github.com/neovim/neovim/issues/18551
* ci: enable tests on drafts as well #18566dundargoc2022-05-15
| | | | | | | | | | | | | | | | | | | previous: https://github.com/neovim/neovim/pull/14123 CI tests were disabled on drafts #18566 to manage the large number of incoming jobs. While this did help, it had the drawback of making the purpose of the ready-for-review a bit fuzzier. It went from a clear "my PR is ready" signal to maintainers to somewhere between "my PR is ready but I need the tests to confirm" to "please don't merge yet, I just need to see the test results". Worse is that the specific case of wanting to see the test results but not wanting it merged is that this needs to be actively conveyed to the maintainers with a [DNM] or a comment to not merge the PR yet. All of this causes weird workarounds and noises which I believe isn't necessary. The reason why I don't think this workaround is needed anymore is that our CI now aborts a job if a new job from the same pull requests is created, which makes the "10 simultaneous jobs per PR" situations that triggered this not possible.
* ci: remove remnants of gperf #18550Justin M. Keyes2022-05-12
| | | | gperf was removed in 36613b888bae7df764a26a28ca1627a2c0c2edeb yay!
* ci: lint runtime with styluaChristian Clason2022-05-09
|
* ci: add a check with -funsigned-charzeertzjq2022-05-06
|
* ci: remove mjlbach from reviewers (#18297)Michael Lingelbach2022-04-29
|
* ci: label all markdown edits as "documentation" #18120casswedson2022-04-24
|
* ci(backport): remove triggering by comment (#18210)zeertzjq2022-04-23
| | | | Triggering by comment is not needed. Applying the label is enough to trigger the backport action.
* refactor(packaging): Windows: improve MSI, remove NSIS #18069Henry Fraser2022-04-11
| | | | | | | | | | - Removed NSIS installer. - Prevents undefined behaviour when two installations are performed to the same directory (NSIS + MSI). - Reduced cost of maintaining two installers that do the same thing. - Chose Wix MSI due to its better integration with Windows. - Added Wix patch file to add neovim binaries to the system path during installation. - Replaced neovim installer icons with better looking versions. - Renamed neovim installer icons from logo.ico -> neovim.ico for all icons to better reflect contents.
* Merge pull request #17888 from dundargoc/ci/remove-reviewers-when-draftingJames McCoy2022-03-31
|\
| * ci: remove reviewers when drafting or closing a PRDundar Göc2022-03-27
| |