Commit Graph

550 Commits

Author SHA1 Message Date
Carlo Cabrera
3f2e1c1db9
ci(release): use cpack on macOS #19459
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.
2022-07-22 07:08:11 -07:00
zeertzjq
946c8fd288
ci(labeler): do not add "column" label for mark.{c,h} (#19455) 2022-07-21 17:44:44 +08:00
dundargoc
e8c94697bc
ci: test only a single macos version (#19418)
The differences in MacOS releases are smaller since they're now upgraded
yearly, meaning the need to test each version is reduced.
2022-07-18 18:39:41 +02:00
kylo252
d15a66d803
ci(windows): config and build before publish step (#19416)
Problem: Windows package step failed (silently).
Solution: Make sure to configure cmake before attempting to build the package target.
2022-07-18 15:18:15 +02:00
kylo252
9f4b19b6d0
ci: refactor build.ps1 #19336
Refactor `build.ps1` into a more modular design

9728f3b558/.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
2022-07-17 15:07:35 -07:00
Dundar Goc
bb1a464467 ci: remove unnecessary file run_lint.sh
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.
2022-07-11 16:41:06 +02:00
Carlo Cabrera
674787feae
ci(release): link gettext include directory
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.
2022-06-29 02:19:45 +08:00
Justin M. Keyes
f05a2891d3 build: rename build-related dirs
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/)
2022-06-28 04:02:29 -07:00
Vedant
9ddb481d88
refactor(ci): cleanup release.yml #19132 2022-06-28 03:40:53 -07:00
Carlo Cabrera
ae3e371303
docs(release): suggest "xattr" for macos release #19100 2022-06-26 08:46:37 -07:00
Carlo Cabrera
d0644fa9bf
ci(release): build a universal binary on macOS
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.
2022-06-25 00:25:05 +08:00
Christian Clason
c5c5d980a1
ci(release): skip CoreServices system library on macOS (#19021)
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).
2022-06-19 16:20:27 +02:00
dundargoc
6d57bb89c1
build: add a cmake target for all used linters #18543
* 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.
2022-06-09 08:09:24 -07:00
James McCoy
950ab00c2b
ci: run tests with no treesitter parsers installed 2022-06-08 21:10:34 -04:00
James McCoy
10291bb854
Merge pull request #18788 from dundargoc/ci/api-docs/color
ci(api-docs): show required changes with color
2022-06-08 19:55:51 -04:00
James McCoy
e9803e1de6
Merge pull request #18789 from dundargoc/ci/api-docs/run-in-drafts
ci(api-docs): run in drafts as well
2022-05-29 09:51:18 -04:00
dundargoc
f31a10204c
ci(uncrustify): show diff on failure #18780
This will make it possible to see what needs to be fixed without having
uncrustify installed locally.
2022-05-28 17:00:25 -07:00
Dundar Goc
39613b6a2d ci(api-docs): run in drafts as well
A contributor should be able to be sure their PR passes the CI before
clicking "Ready for review".
2022-05-29 00:55:12 +02:00
Dundar Goc
d353d5f002 ci(api-docs): show required changes with color
It makes it easier to see what needs to be changed.
2022-05-28 21:42:40 +02:00
James McCoy
a3df012845
ci: use ubuntu-latest for vim-patches and coverity-scan
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.
2022-05-28 14:22:42 -04:00
James McCoy
eebd682221
Merge pull request #18728 from dundargoc/ci/api/upgrade-to-ubuntu-22
ci(api-docs): upgrade to ubuntu 22 and remove conda dependency
2022-05-24 07:20:40 -04:00
Dundar Goc
db059ed1f1 ci(api-docs): add comment explaining why full clone is required 2022-05-24 12:29:58 +02:00
Dundar Goc
e9f8a478fc ci(api-docs): upgrade to ubuntu 22 and remove conda dependency
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.
2022-05-24 12:21:17 +02:00
dundargoc
63741176ce
ci(commitlint): only trigger on PRs to master #18679
This will prevent a failure for backported PRs as they use a different
commit message.
2022-05-22 08:03:06 -07:00
dundargoc
12f45fd697
ci: bump github actions versions #18616 2022-05-20 20:45:10 -07:00
dundargoc
045aacc384
ci: lint with uncrustify #18563
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).
2022-05-20 20:41:57 -07:00
James McCoy
3e627f9e55
ci(coverity): run every day instead of once/week
Neovim currently falls in the 100 kLOC - 500 kLOC bucket, which can scan
3x/day.
2022-05-20 08:17:47 -04:00
zeertzjq
cd998f8804
ci(coverity): correct cron job time #18590
The comment says it should be run at 00:10 UTC, and in cron job format
minutes come before hours.
2022-05-16 03:21:55 -07:00
dundargoc
f8af81445b
ci: remove mingw job #18580
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
2022-05-15 15:59:58 -07:00
dundargoc
a098e304b0
ci: enable tests on drafts as well #18566
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.
2022-05-15 08:18:38 -07:00
Justin M. Keyes
b96037e42d
ci: remove remnants of gperf #18550
gperf was removed in 36613b888b
yay!
2022-05-12 16:55:27 -07:00
Christian Clason
676e9e9334 ci: lint runtime with stylua 2022-05-09 16:31:55 +02:00
zeertzjq
21abb24bd0 ci: add a check with -funsigned-char 2022-05-06 08:49:26 +08:00
Michael Lingelbach
c671822d4d
ci: remove mjlbach from reviewers (#18297) 2022-04-29 10:48:12 +02:00
casswedson
ac3794c351
ci: label all markdown edits as "documentation" #18120 2022-04-24 18:40:13 -07:00
zeertzjq
cfaf7440fc
ci(backport): remove triggering by comment (#18210)
Triggering by comment is not needed. Applying the label is enough to
trigger the backport action.
2022-04-23 14:26:42 -07:00
Henry Fraser
96b461a000
refactor(packaging): Windows: improve MSI, remove NSIS #18069
- 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.
2022-04-11 07:58:46 -07:00
James McCoy
dbcb76bd7a
Merge pull request #17888 from dundargoc/ci/remove-reviewers-when-drafting 2022-03-31 15:38:26 -04:00
casswedson
02bac30928 ci: label changes to Makefiles as build
Makefiles are used for builds, so why not label changes to these
files as build
2022-03-27 19:20:15 -05:00
Dundar Göc
da3ef2a538 ci: remove reviewers when drafting or closing a PR 2022-03-27 22:35:26 +02:00
James McCoy
b66cc0f569
Merge pull request #17873 from muniter/jl-apidocs-improvementes
ci(doc): improve missing docs workflow
2022-03-27 16:21:02 -04:00
Javier López
45dbb78747 ci(doc): improve missing docs workflow
1. Add new pattern `runtime/doc/**`. This is a common case were the
   contributor modifies only the help file but the doc gen would discard
   their changes.

2. Add to the output what the changes after running doc gen would be.

[skip ci]
2022-03-26 12:38:36 -05:00
James McCoy
66fff788f2
Merge pull request #17857 from muniter/jl-breaking-change-label
ci: automatic breaking change label
2022-03-26 09:45:54 -04:00
Javier López
ca7d633eaf ci: automatic breaking change label
When the PR title contains the breaking change format apply the
breaking-change label.
2022-03-26 07:18:00 -05:00
dundargoc
61205c1def
chore: fix typos (#17755)
Co-authored-by: Jordan Haine <jhaine@securitycompass.com>
2022-03-25 19:57:59 +01:00
zeertzjq
fc3bff6b7e ci: remove src/nvim/**.lua from docgen pattern
After #17623 this pattern is no longer necessary.
2022-03-24 11:35:24 +08:00
Javier López
b55e65980a fix(ci): provide necessary permissions for calling workflow
Also error on the side of security adding an extra check on the
automatic PR step.
2022-03-21 22:40:24 -05:00
Javier López
9191401025 ci(docs): add a check for PR's to commit their doc changes
Repurpose the api-docs workflow to also run in all PR's but work only as
a check, if the changes in the PR introduce doc changes that are not
committed fail.

[skip ci]
2022-03-18 13:29:55 -05:00
Dundar Göc
815ba835a3 ci: refactor and simplify CI process 2022-03-10 09:21:41 +01:00
Dundar Göc
d15558bfa3 ci(macos): minimize log output from brew update
Also remove perl from brew install to prevent a warning that states it's
already installed.
2022-03-07 23:49:52 +01:00
Dundar Göc
242183585c ci: document the purpose of some non-obvious jobs 2022-03-07 14:18:11 +01:00
Dundar Göc
b842f5491f ci(reviews): update reviewers 2022-03-04 11:28:32 +01:00
James McCoy
97ed3effff
ci(lint): re-add building of third-party 2022-02-27 09:07:11 -05:00
James McCoy
8d8288461a
ci(lint): use bundled luv until system packages are updated 2022-02-27 09:07:11 -05:00
Dundar Göc
80c3d042ed ci: add timeout to all jobs 2022-02-26 16:57:47 +01:00
James McCoy
005a7aa167
Merge pull request #17467 from dundargoc/ci/remove-failing-windows
ci: remove failing windows CI tests
2022-02-25 07:10:29 -05:00
James McCoy
73da7cef7b
Merge pull request #17390 from RenFraser/feature/packaging
ci: improve cpack packaging
2022-02-24 06:46:07 -05:00
Henry Fraser
087aad3dcd ci: improved cpack packaging
Addresses: #12571

- Added the following installers through CMake files:
    - Windows NSIS.
    - Windows MSI.
    - Windows zip.
    - MacOs tarball.
    - Linux tarball.
    - Linux Deb package.
- Tweaked pipeline CPack commands to build using new CMakeLists.txt configuration file.
- Added icons and relevant packaging files.
- Updated notes.md to reflect new installation instructions.

This isn't meant to be the perfect solution, it's simply a first pass at using a
simple packaging system to build Windows installers. A Debian package has also
been added since it's very easy but other packages have been left out due to
limiting the scope. Hopefully we can build further upon this and improve it
over time with code signing, better icons and more user-friendly installation
graphics and so on.
2022-02-24 19:54:44 +10:00
Dundar Göc
07a5a85323 ci: skip ci workflow on only documentation changes 2022-02-21 10:12:07 +01:00
James McCoy
4b3fb4b177
Merge pull request #17469 from jamessan/use-sysdeps-for-lint-ci
Use system dependencies for lint CI
2022-02-20 07:35:35 -05:00
Dundar Göc
4ea8201356 ci: remove success check since it's the default 2022-02-20 13:17:55 +01:00
James McCoy
921162a4b1 ci: bump Windows image to windows-2019
The VS 2019 CMake generator no longer has different generator types for
different architectures.  Now, the architecture is specified via CMake's
`-A` switch.  However, this requires we also propagate
`${CMAKE_GENERATOR_PLATFORM}` to the bundled deps, so they build for the
same architecture as Nvim.
2022-02-20 10:18:45 +01:00
James McCoy
0c4c384ed1
ci(lint): explicity build nvim
“make clint-full” bypasses the normal mechanisms used to communicate
build flags in the CI jobs, so explicitly build nvim before running the
lint jobs.
2022-02-19 20:35:05 -05:00
James McCoy
34cb26011e
ci(lint): build against system deps 2022-02-19 20:35:04 -05:00
James McCoy
8cd4c11494
ci(lint): install deps via apt instead of building from third-party 2022-02-19 20:35:04 -05:00
Dundar Göc
f7803c82d4 ci(labeler): change "tests" to "test" 2022-02-18 20:23:22 +01:00
James McCoy
720bb5844d
Merge pull request #17445 from dundargoc/ci/review/use-checkout 2022-02-18 08:36:45 -05:00
James McCoy
ac480ef6b4
Merge pull request #17404 from dundargoc/ci/put-each-test-in-separate-step
ci: run each test suite in a separate github step
2022-02-18 06:42:32 -05:00
Dundar Göc
40473e55a2 ci(lint): simplify cache key 2022-02-18 11:50:51 +01:00
Dundar Göc
8b92d71b30 ci: run each test suite in a separate github step
This should help combat some of the lagginess when looking at the CI
logs in the browser.
2022-02-18 11:36:30 +01:00
Dundar Göc
1d0e38e42c ci: download reviews.js through checkout instead of wget
This makes testing the workflows much smoother.
2022-02-17 23:30:22 +01:00
Dundar Göc
58a55e3889 ci(lint): remove unnecessary steps 2022-02-17 22:38:54 +01:00
Dundar Göc
b877237612 ci(reviews): move reviews.js to .github/scripts 2022-02-17 14:48:14 +01:00
Dundar Göc
48108975c9 revert: "ci: run functionaltest-lua on drafts as well"
This reverts commit a91a5c1880.
2022-02-15 14:01:06 +01:00
Dundar Göc
5aed2e9f27 ci(labeler): disable sync that interferes with other jobs 2022-02-14 21:16:36 +01:00
zeertzjq
29eabbcd07 ci: use a separate script for request review workflow 2022-02-14 07:47:10 +08:00
James McCoy
c5f5c0d4da
Merge pull request #17392 from zeertzjq/ci-review-open-only
ci: only request review on open non-draft PRs
2022-02-13 08:42:47 -05:00
zeertzjq
1be9549e6b ci: only request review on open non-draft PRs 2022-02-13 19:17:18 +08:00
Dundar Göc
12eca76e2c ci(labeler): add filetype label if any filetype files have changed 2022-02-12 14:32:42 +01:00
James McCoy
e126fbc971
Merge pull request #17376 from dundargoc/ci/reviews/upgrade-to-v6
ci(reviews): upgrade github-script version to v6
2022-02-12 07:09:43 -05:00
Dundar Göc
f052e0bd11 ci(reviews): upgrade github-script version to v6 2022-02-12 11:20:00 +01:00
Dundar Göc
0c901baee1 revert: "ci: use continue-on-error instead of "|| true""
This reverts commit 559aa4179c.

I mistakenly believed both ways of writing were equivalent; this is
untrue. Setting continue-on-error to true will make the job pass, but
an error annotation will still be created which is misleading since it's
not actually an error.
2022-02-12 11:03:32 +01:00
Dundar Göc
e957697334 ci: fix reviews workflow by sending an artifact with PR number 2022-02-11 15:12:41 +01:00
Dundar Göc
b0bcbb08a9 ci: add reviewers if labels are manually added after PR creation 2022-02-10 18:06:36 +01:00
Dundar Göc
afac1b5d87 ci: add more reviewers based on label 2022-02-09 10:47:14 +01:00
Dundar Göc
79bacb0973 ci: add write permissions to add-reviewer job 2022-02-08 14:56:46 +01:00
Dundar Göc
fde169f328 ci: add reviewers based on label 2022-02-07 21:25:45 +01:00
James McCoy
707cc1a167
ci(commitlint): use lintcommit.lua from main repo
[skip ci]
2022-02-06 08:31:23 -05:00
zeertzjq
6eb8c0c0c8 ci: add intercept_tls_get_addr=0 to ASAN_OPTIONS 2022-01-27 23:16:33 +08:00
James McCoy
66076e5e1b
ci: create automated PRs as draft PRs
GH workflows aren't allowed to trigger other GH workflows.  Since
commitlint is a required check now, we need something manual to happen
for it to run on vim-patch/api-doc PRs.

Creating these PRs as drafts and then marking them as "ready to review"
when we want to merge them will provide the manual trigger to run
commitlint.

[skip ci]
2022-01-17 13:36:01 -05:00
James McCoy
8f54b88a5e
Merge pull request #17122 from dundargoc/ci/remove-non-working-job
ci: remove non-working add-reviewer job
2022-01-17 13:11:46 -05:00
Dundar Göc
6c1d6f3dd6 ci: remove non-working add-reviewer job 2022-01-17 18:48:08 +01:00
James McCoy
69b2dd175c
ci(api-docs): avoid running ci for doc commits 2022-01-17 12:21:16 -05:00
James McCoy
d7e2229b41
ci(commitlint): use pull_request_target to avoid "skip ci" 2022-01-17 12:21:09 -05:00
James McCoy
5bd7ae5b0f
ci(release): enable gh's api debug logs when creating the release
This is intended to help track down why the release is sporadically left
in draft state, rather than being published.

[skip ci]
2022-01-12 07:13:25 -05:00
Dundar Göc
f29a4ec553 ci: add a continue-on-error to the add-reviewer jobs
This is to circumvent a limitation in GitHub Actions that requires
special organization access in order to add any reviewers.
2022-01-09 19:57:25 +01:00
Dundar Göc
fd71162428 ci: add reviewer based on label
Also remove CODEOWNERS since this is a superior solution.
2022-01-09 11:30:05 +01:00
James McCoy
2e5bafa04c
Merge pull request #17000 from dundargoc/ci/use-continue-on-error
ci: use continue-on-error instead of "|| true"
2022-01-08 16:10:47 -05:00
Dundar Göc
559aa4179c ci: use continue-on-error instead of "|| true"
The intention is clearer and doesn't rely on shell-isms.
2022-01-08 15:31:14 +01:00
Dundar Göc
c2b9dea4ba ci: set CLANG_SANITIZER variable to TSAN when running the tsan job 2022-01-07 20:20:02 +01:00
Dundar Göc
df06c36932 ci: run type-scope job after the triage job
This should prevent the scenario of one job accidentally removing a
relevant label from the other.
2022-01-07 13:32:14 +01:00
Michael Lingelbach
ef214e9753
chore: remove lspconfig checkhealth from issue template (#16948) 2022-01-05 12:13:16 -08:00
dundargoc
0b0c4f7dfa
chore: fix typos (#16816)
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Sebastian Volland <seb@baunz.net>
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2022-01-04 11:07:40 -07:00
Dundar Göc
ec615abd1f ci: install flake8 with apt instead of pip 2022-01-03 21:54:23 +01:00
Dundar Göc
b402cd3315 ci: add jamessan as codeowner for ci related files
[skip ci]
2022-01-03 20:27:31 +01:00
Dundar Göc
e71fbf2eb0 ci: remove unnecessary before_install script 2022-01-02 23:46:46 +01:00
James McCoy
b0993bdc45
Merge pull request #16853 from jamessan/clint-master-only
ci: run lint only on master branch
2022-01-02 14:07:01 -05:00
James McCoy
e5f7b61136
Merge pull request #16840 from zeertzjq/ci-clang-13
ci: bump clang version to 13 in asan and tsan
2022-01-01 11:43:38 -05:00
zeertzjq
6a932f68e6 ci: bump clang version to 13 in asan and tsan 2022-01-01 06:24:48 +08:00
James McCoy
35034da779
ci: run lint only on master branch
The list of known lint issues is only updated for the master branch, so
other branches report lots of false positive issues.
2021-12-31 12:09:23 -05:00
Dundar Göc
2a12e8ddfd ci: remove outdated brew workaround that isn't needed anymore 2021-12-31 13:09:01 +01:00
James McCoy
094c3f2b54
ci: cancel in-progress CI if a PR is updated
[skip ci]
2021-12-25 11:11:54 -05:00
Dundar Göc
89a844a9c7 ci: remove unused "squash typo" workflow 2021-12-20 23:47:04 +01:00
James McCoy
238da85126
Merge pull request #16524 from dundargoc/ci/optimize-brew
ci: remove "brew upgrade" from macos jobs
2021-12-09 21:15:07 -05:00
dundargoc
5b117bbc75
ci: install doxygen with conda instead of apt (#16517)
This provides a newer version of Doxygen (1.9.0 or later)
that fixes a bug in the documentation generator.

Closes #16498
2021-12-08 09:28:25 -07:00
Dundar Göc
c5af86b9b9 ci: remove "brew upgrade" from macos jobs
Packages are automatically upgraded on install. This will avoid
upgrading unrelated packages, cutting the macos job time to about a
half.
2021-12-04 23:44:52 +01:00
Dundar Göc
8cd1fa8945 ci: use tag v2 when using checkout action
Using v2 automatically fetches the latest minor patch for v2, meaning
free bug fixes without needing to manually update the tag version.
2021-12-04 13:24:46 +01:00
James McCoy
50c8cc3020
fix(ci/backport): check for event_name == "pull_request_target"
[skip ci]
2021-11-30 22:20:32 -05:00
James McCoy
7bd6f12b3e
ci!: remove win32 builds/releases 2021-11-14 08:51:39 -05:00
Christian Clason
2ef9d2a663
chore: disable creating a blank issue 2021-11-11 19:41:37 +01:00
James McCoy
14716e4619
ci(release): delete nightly/stable tag so release recreates it
Even though the releaes itself gets deleted, if the tag is not, then
creating a new release just re-uses the same tag, even though we're
using “--target <sha>”.

[skip ci]
2021-11-02 07:34:55 -04:00
James McCoy
ea2ce90cc6
ci: limit CI checks to the main dev branches
Now that we have various GH actions creating branches in the main repo,
using the generic '**' pattern for the CI workflow is just wasting CI
time and leading to more queued jobs.

[skip ci]
2021-10-31 20:05:52 -04:00
James McCoy
a1eea968a5
ci(backport): trigger on comments too, so "/backport" works
[skip ci]
2021-10-30 16:50:13 -04:00
James McCoy
9f5e736e5d
ci(backport): bump version to v0.0.7
[skip ci]
2021-10-30 16:33:20 -04:00
James McCoy
0c1b80efec
ci(backport): add write permissions for contents/pull_requests
The workflow needs to create commits and PRs.

[skip ci]
2021-10-30 16:29:02 -04:00
James McCoy
c819ce1fd4
ci(release): do not fail if stable/nightly release doesn't exist
[skip ci]
2021-10-30 14:02:04 -04:00
James McCoy
eede587b06
ci(release): re-publish "stable" release for versioned releases
[skip ci]
2021-10-30 14:02:04 -04:00
James McCoy
0ce800753e
ci(release): use gh cli instead of 3rd-party actions
Closes #15709

[skip ci]
2021-10-30 14:01:47 -04:00
Dundar Göc
a91a5c1880 ci: run functionaltest-lua on drafts as well 2021-10-28 10:55:26 +02:00
Michael Lingelbach
6cc456deeb
feat(ci): add backport PR action (#14766)
Trigger the backport action upon merge by marking a PR with the label `backport <branchname>` or after merge by applying the label and writing a comment containing `/backport`.
2021-10-26 08:45:15 -07:00
Jakub Łuczyński
035d82e0d3
build: update cmake min version to 3.10 #16065
* build(cmake): update cmake min version to 3.10
* ci: test cmake minimum required version
* build(cmake): remove some legacy includes
  * Since version 3.5 cmake_parse_arguments is implemented natively.
2021-10-19 19:19:33 -07:00
Dundar Göc
9039aa24b6 ci(commitlint): use action to checkout to pr branch directly 2021-10-19 09:58:30 +02:00
Rob Cowsill
4c4a41c70c
ci(labeler): Remove checkout steps
Sets GH_REPO and passes PR number to `gh`, making checkout unnecessary
2021-10-15 15:08:12 +01:00
Dundar Göc
348787a1b7 ci: make labeler also work for breaking changes
This means that

"refactor!: description"

and

"refactor(scope)!: description"

will add the "refactor" label.
2021-10-13 19:55:10 +02:00
dundargoc
f620008e59
ci: disable commit-lint on draft PRs #15958 2021-10-08 17:08:47 -07:00
Christian Clason
3b531d50a8
docs(contrib): recommend nvim --clean #15917 2021-10-05 08:01:09 -07:00
dundargoc
7152353ade
ci: add type and scope from PR title as labels #15850
This only works if the label exists in the first place of course.
2021-09-30 08:08:36 -07:00
dundargoc
3246bf5f4e
ci(lintcommit.lua): replace third-party commitlint #15747 2021-09-26 12:13:59 -07:00
James McCoy
64a5eddc89
ci: use runner, instead of os, for job name and cache key 2021-09-24 09:01:50 -04:00
James McCoy
e0cf32c6de
ci: add macOS 11 build 2021-09-24 09:01:30 -04:00
Justin M. Keyes
77399184d7
ci(labeler): diagnostic 2021-09-18 13:29:56 -07:00
Justin M. Keyes
4b3ffde208 docs: issue templates 2021-08-22 17:37:08 -07:00
Justin M. Keyes
fb5db6c7cf docs: issue templates 2021-08-22 16:56:41 -07:00
James McCoy
c6ef95606f
fix(ci): re-run GHA for ready_for_review events (#15377)
By default, the pull_request target only runs for the "opened",
"synchronize", and "reopened" events.

Since we've disabled GHA CI for "draft" PRs, the "ready_for_review"
event also needs to be included so CI is automatically run when leaving
draft status.
2021-08-15 15:27:50 +02:00
James McCoy
084b28bec8
Merge pull request #15367 from jamessan/release-fixes
Clean up release handling
2021-08-14 21:22:13 -04:00
James McCoy
6f965f41df
build: use RelWithDebInfo build for nightlies, Release for releases
Unlike Release build type, RelWithDebInfo does not disable asserts.
This helps get better debug info from people brave enough to use the
nightly builds, but shouldn't be used for official releases.

[skip ci]
2021-08-13 23:32:15 -04:00
dundargoc
ce172d8d4a
ci: fix typo squasher by changing trigger to "pull_request_target" (#15357)
The "pull_request" trigger only enables read-access for forks,
"pull_request_target" is required if a fork is to be a trigger. Also
changed the python script to reflect this change.
2021-08-13 15:18:15 +02:00
Dundar Göc
20c1e5757d chore: link to Discourse when choosing issue template for user questions 2021-08-13 10:34:20 +02:00
Dundar Göc
f43a8f0eda ci: make all questions mandatory in bug template 2021-08-10 12:18:55 +02:00
dundargoc
7dbbd5d8b1
ci: create GitHub Action that squashes all typo PRs into a single PR (#15041)
The action adds all pull-request authors (and Marvim) as a co-author to the
newly created PR and also links to the closed PRs.
2021-08-09 15:21:50 +02:00
dundargoc
a2909aa35f
ci(labeler): apply label tests if only files under test have changed (#15305) 2021-08-08 11:03:55 +02:00
Christian Clason
35041432bf
ci(forms): fix "vim" description in bug template
Make clear that the version should be specified in any case, including patch level
2021-08-07 18:14:03 +02:00
dundargoc
a1cc146405
ci(labeler): apply documentation label only for changes exclusively in runtime/doc/* (#15298) 2021-08-07 10:36:15 +02:00
dundargoc
f22326ef09
ci(labeler): add "tests" and "ci" labels to the labeler action (#15287)
Also added "CONTRIBUTING.md" file under the "documentation" label since
it gets changed fairly often.
2021-08-06 13:15:29 +02:00
dundargoc
22072b11e8
ci(labeler): fix syntax so changes under src/nvim/lua are registered (#15285)
The labeler action requires a glob (*) to denote files under a
directory.
2021-08-06 12:16:24 +02:00
dundargoc
3f9a838454
ci: disable false "footer-leading-blank" warning from commitlint (#15238) 2021-08-02 11:22:43 +02:00
Matthieu Coudron
535c762ff7
Merge pull request #15129 from dundargoc/action/commitlint
ci: add commit linter to GitHub Actions.
2021-08-02 00:08:31 +02:00
Dundar Göc
5f3f4263b4 ci: add commit linter to GitHub Actions 2021-08-01 12:45:17 +02:00
Christian Clason
143a920de9
chore: fix lsp bug issue template
correct description for expected behavior
2021-07-29 16:35:02 +02:00
Christian Clason
1d3aaae15c
chore: fix bug issue template form
description for "expected behavior" was wrongly attached to "actual behavior"
2021-07-29 16:17:58 +02:00
Christian Clason
ac5139eae4
ci(labeler): adapt to new label names 2021-07-28 17:29:27 +02:00
dundargoc
6c08af083d
ci: label PRs only the first time they're opened (#15209)
instead of on every change -- including removing erroneous labels
2021-07-28 11:30:08 +02:00
Christian Clason
701c21480e
ci(labeler): update label format 2021-07-28 10:10:45 +02:00
Christian Clason
1637622db9
chore: remove checkbox from issue template
Checkboxes trigger "task lists", which add noise.
2021-07-26 17:31:27 +02:00
dundargoc
bebca7bbeb
chore: update LSP bug report with Github issue forms (#15159) 2021-07-25 16:07:20 +02:00
dundargoc
1aef6297b3
chore: update feature request template by using Github issue forms. (#15158) 2021-07-25 16:06:19 +02:00
dundargoc
e5f3abfd17
chore: update bug report template by using Github's new issue forms (#15152) 2021-07-25 16:05:11 +02:00
Björn Linse
13db912e51 fix(ci): lower timeout to 45 minutes (from default 360 mins) 2021-07-24 10:23:15 +02:00
Christian Clason
6f48c018b5
Revert "fix(ci): remove mongodb from brew to avoid brew upgrade error (#15115)" (#15141)
This reverts commit 5377b2b00a.

(Fix no longer needed.)
2021-07-20 23:30:32 +02:00
Oliver Marriott
5377b2b00a
fix(ci): remove mongodb from brew to avoid brew upgrade error (#15115)
macOS CI was failing because:

- brew upgrade fails because,
- mongodb-community cant upgrade because,
- some symlinks are owned by ...  mongodb-community...

We don't use mogodb, so we can just remove it wholesale.
2021-07-17 16:59:39 +02:00
Oliver Marriott
d1c906a7c6 feat(ci): Add sha256 checksums to release notes 2021-07-02 05:06:21 +10:00
James McCoy
2fc9e9effa
ci(gha): Add functionaltest-lua checker 2021-06-29 21:46:46 -04:00
Christian Clason
f969b4bfb1
fix(ci): change autolabel to "treesitter"
Open issues and PRs are almost all labeled `treesitter` instead of `tree-sitter`; this change improves consistency.
2021-06-29 18:54:27 +02:00
glacambre
04ad196b4e ci: upgrade to gcc-11 on ubuntu-18.04
In https://github.com/neovim/neovim/issues/14150 , investigations showed
that using an older gcc to build the appimage could result in severe
perf issues. This is because older gcc versions happily replace calls to
libc functions with their own, which happen to be less optimized than
their libc counterparts.

We fix this problem by upgrading to gcc-11 on ubuntu-18.04.
2021-06-16 17:54:14 +02:00
Thomas Vigouroux
7b0836ed01
ci: correctly label dependencies PRs
Configures the labeler to handle PRs related to third-party.
2021-06-11 16:17:41 +02:00
James McCoy
04985f69eb
fix(ci): Remove gcc@8/gcc@9 homebrew workaround 2021-06-04 11:21:45 -04:00
James McCoy
efef508ec6
ci(gha): New workflow to regen API docs on pushes to release branches
Upon pushing updates to files which may contain API documentation, the
workflow will regenerate the docs and, if there are relevant changes,
create a PR targeting the source branch.

[skip ci]
2021-05-31 22:52:44 -04:00
Matthieu Coudron
c40de6e5f5
feat(ci): autolabel pull requests (#14574)
autolabel pull requests depending on which files are modified
2021-05-18 09:37:18 +02:00
James McCoy
7ae1417ad5
ci(coverity): Fix typo in tar command
[skip ci]
2021-05-05 12:54:47 -04:00
James McCoy
554468cc03
Merge pull request #14493 from jamessan/ci-updates 2021-05-05 11:48:08 -04:00
James McCoy
3bebe60121
ci(gha): Run ci workflow for PRs into release branches 2021-05-05 09:21:12 -04:00
James McCoy
26f5b979ec
ci(gha): Add weekly Coverity scans
[skip ci]
2021-05-05 08:54:03 -04:00
James McCoy
0ee52fba31
ci(gha/ci): Use clang-12 for TSAN 2021-05-02 22:24:28 -04:00
James McCoy
14c692bc82
ci(gha/release): Bump to ubuntu-18.04
Per https://wiki.ubuntu.com/Releases, 16.04 is no longer under standard
support.  Switch to the next LTS, 18.04, for the next couple years.
2021-05-02 16:27:37 -04:00
Marco Hinz
04a33c1d9a
template: make sure people read :h vim-differences 2021-05-02 13:52:01 +02:00
James McCoy
0ab1f9ff3f
ci(gha/vim-patches): Create PR against branch running the workflow
Avoids hard-coding branch names.

[skip ci]
2021-04-26 23:45:40 -04:00
James McCoy
2601296c3f
ci(gha): Rename nightly workflow to vim-patches
[skip ci]
2021-04-26 23:45:40 -04:00
James McCoy
3047a909a2
ci(gha/nightly): Enable "contents: write" permissions to setup PR
[skip ci]
2021-04-26 23:45:36 -04:00
James McCoy
62df537543
ci(gha/release): Enable "contents: write" permission to publish release 2021-04-21 00:32:38 -04:00
James McCoy
491708c989
ci(gha/win): Specify valid directory for DEPS_BUILD_DIR 2021-04-21 00:14:51 -04:00
James McCoy
9a01833d90
ci(gha): Simplify clang installation 2021-04-21 00:14:51 -04:00
James McCoy
74f8196935
ci(gha): Update to clang-12 2021-04-21 00:14:43 -04:00
Michael Lingelbach
dcb447dafd issue template: add reference to discourse and minimal config in lsp issue template 2021-04-05 14:47:59 -07:00
James McCoy
eca091a77c
ci(gh): Automatically create PR for version.c updates
[skip ci]
2021-03-20 12:11:22 -04:00
James McCoy
ba758ac553
ci(GHA/release): Delete the release when creating a new nightly
This reverts #13733.  Disabling delete of the release leaves behind a
draft release associated with the previous nightly tag, which is
annoying to cleanup.

In the rare circumstances that the creation of a new nightly fails after
deleting the previous nightly, the job can be re-run or a nightly can be
missing for a day.
2021-03-14 19:53:45 -04:00
James McCoy
a8694ff9c1
Merge pull request #14139 from jamessan/release-packages
ci(GHA/release): Stop installing gcc-multilib
2021-03-14 19:37:00 -04:00
James McCoy
dfa01b820f
ci(GHA/release): Stop installing gcc-multilib
Recent changes in Xenial have made it uninstallable and we aren't
actually using anything from it for the release builds.
2021-03-14 19:27:50 -04:00
smolck
f2847e7ea1 Don't run CI on draft PRs 2021-03-14 17:23:57 -05:00
Jan Edmund Lazo
78620dbd28
ci(GHA): install perl on osx
Fix missing header files in system perl.
2021-01-17 12:42:28 -05:00
James McCoy
6d67cf8647
ci(gha): brew unlink gcc@8/@9 to fix upgrade issues 2021-01-11 00:01:37 -05:00
James McCoy
0f03b3f3aa
ci(gha): brew upgrade before installing 2021-01-10 23:40:30 -05:00
Michał Kiełbowicz
3d41ce90df
Do not delete the nightly release 2021-01-10 23:29:34 +01:00
Collided Scope
84d08358b7
ci: Fix typo in release.yml that prevents optimized nightly build (#13671)
Assuming the `CMAKE_BUILD_TYPE` directive is case-sensitive, this *actually* prevents the nightly build from being optimized. Even if it doesn't, the typo causes `:checkhealth` to issue a dummy warning in the Performance section.
2021-01-03 02:19:03 +01:00
James McCoy
0aa6b40599
ci: Add Windows binaries to the release 2020-12-31 00:14:37 -05:00
James McCoy
2f1dc21379
ci(GHA): Disable fail-fast for CI checks 2020-12-30 09:52:42 -05:00
James McCoy
a06c256ec8
Merge pull request #13540 from erw7/add-gha-for-windows-vs2017 2020-12-28 21:15:38 -05:00
notomo
b931a554d7
GHA/osx: workaround for brew update error (#13584) 2020-12-22 08:47:46 -05:00
Jan Edmund Lazo
fb0ecf9e70
GHA/osx: remove python 2to3 2020-12-19 14:18:26 -05:00
erw7
934b8e172e GHA: integrate unix and windows settings 2020-12-17 15:47:11 +09:00
erw7
abdb2b4d29 GHA: fix build problems on Windows 2020-12-16 15:27:35 +09:00
Thomas Vigouroux
d7051705d0 ci: setup GitHub actions for windows 2020-12-16 13:12:14 +09:00
James McCoy
50a76a0e5d
Revert "Use oldest macOS version for release workflow" 2020-12-11 13:07:07 -05:00
Mitchell Hanberg
81aa780909
Use oldest macOS version for release workflow 2020-12-11 11:57:19 -05:00
James McCoy
3881bc2295
GHA: Use oldest OS images to build releases
Closes #13493
2020-12-09 07:39:20 -05:00
James McCoy
b32124fce2
GHA: Perform a full checkout for release workflow
This is needed to get a tag-based version from `git describe` rather
than just the commit.
2020-12-06 21:01:11 -05:00
James McCoy
f4809916d3
GHA: Include runtime in macos release tarball 2020-12-06 16:47:12 -05:00
James McCoy
f9bd3f9cb5
GHA: Use full version in release description
Closes #13466
2020-12-06 09:50:16 -05:00
James McCoy
cdf362a488
GHA: Fix event_name check for nightly builds 2020-12-06 09:00:47 -05:00
James McCoy
44ba5c4168
GHA: Delete nightly tag before creating new release 2020-12-05 20:14:51 -05:00
James McCoy
18360290d0
GHA: Generate correct appimage for release/nightly 2020-12-05 13:04:33 -05:00
James McCoy
dfc4111e42
GHA: Do not run CI for tags 2020-12-05 13:04:25 -05:00
James McCoy
e11f3fb726
GHA: Rename "Nightly release" to "Release" 2020-12-05 13:04:02 -05:00
James McCoy
f7fd7ba745
GHA: Automatically create a release for versioned tags 2020-12-05 13:03:57 -05:00
James McCoy
7ab458f929
GHA: Add support for manually creating a release 2020-12-05 13:01:57 -05:00
James McCoy
1b53544111
GHA: Use meeDamian/github-release to create/update release 2020-12-05 13:01:38 -05:00
James McCoy
8997c8b563
GHA: Build appimage for nightly 2020-12-04 21:07:06 -05:00
James McCoy
fd53e5ee2c
GHA: Stop installing test dependencies for nightly build 2020-12-04 20:50:54 -05:00
James McCoy
16157258be
GHA: Publish nightly builds for Linux and macOS 2020-12-04 11:25:14 -05:00
James McCoy
0bb565b13b
GHA: Force CCACHE_DIR=$HOME/.ccache 2020-11-24 21:26:03 -05:00
James McCoy
0d7777e9bc
GHA: brew required software 2020-11-24 21:26:02 -05:00
James McCoy
36fe82ff98
env.sh: Handle no flavor being specified 2020-11-24 21:26:02 -05:00
James McCoy
0c022c03ee
GHA: Add macOS CI 2020-11-24 21:26:02 -05:00
James McCoy
1731ef3176
GHA: Rename linux workflow to CI 2020-11-24 21:26:01 -05:00
James McCoy
1e7d937e16
GHA: Switch to ubuntu-20.04 image for Linux
Stop explicitly installing Ubuntu's python package, since most of the
Python 2 packages (and importantly pip/setuptools) have been removed in
this Ubuntu version.
2020-11-23 08:42:24 -05:00
rockerBOO
2fb778c2ae docs: Change nvim_lsp to lspconfig 2020-11-16 11:35:34 -05:00
rockerBOO
ecbcca44e7 docs: Update ISSUE_TEMPLATE for lsp_bug_report 2020-11-16 03:47:23 -05:00
James McCoy
af88b0891e
GHA: Add tsan job to the matrix 2020-11-14 21:29:02 -05:00
James McCoy
3b0a729f9c
GHA: Use matrix to de-duplicate workflow definition
The general skeleton of each job is the same, so consolidate the
definition to a single job with an explicit matrix.

Use conditional steps to handle steps that are unique to a certain job
(e.g., installing clang-11 for better ASAN support).
2020-11-14 21:29:02 -05:00
James McCoy
392ec5a43f
ci: Remove $CCACHE_CPP2
The env var is being set to the default value, as of ccache 3.3, which
is available in Zesty and newer.  All of our CI is using Bionic, so this
is already available.
2020-11-14 21:28:59 -05:00
James McCoy
5271f1e2c9
GHA: Move env var setup into env.sh to keep it DRY 2020-11-14 21:28:12 -05:00
James McCoy
c96acac4d3
GHA: Invalidate cache if cmake files or third-party/ change 2020-11-13 13:38:12 -05:00
James McCoy
c7443b82a9
GHA: Update cache directory if all steps succeeded 2020-11-13 13:36:58 -05:00
James McCoy
ef0d558a3b
GHA: Include ccache output in cache 2020-11-13 13:36:58 -05:00
James McCoy
808eb44f4a
GHA: Add ~/.local/bin to $PATH 2020-11-13 13:36:57 -05:00
James McCoy
e2e032a52a
GHA: Add lint job to Linux workflow 2020-11-13 13:36:57 -05:00
James McCoy
eb2aaed5cc
Add Linux ASAN GitHub Action 2020-11-13 13:36:56 -05:00
Marco Hinz
bd7360b39a
funding: Bountysource Salt -> GitHub Sponsors & Open Collective [ci skip] (#12959)
We have a GitHub Sponsors page for the neovim organization now:

  - https://github.com/sponsors/neovim

It can be reached by clicking on the "Sponsor" button on the
[organization page](https://github.com/neovim).

This commit replaces Salt by GitHub Sponsors and Open Collective.
2020-09-21 20:47:02 +02:00
Hirokazu Hata
d7f2318ada
issue template: fix label syntax for lsp bug report 2020-06-11 08:18:12 +09:00
Hirokazu Hata
9aba7f122c
add GitHub issue template for lsp 2020-06-11 06:12:37 +09:00
Justin M. Keyes
2ef6f28e11
doc [ci skip] #10177
ref #10278 #10279 #10353
2019-06-30 00:09:45 +02:00