Commit Graph

235 Commits

Author SHA1 Message Date
f9228577e8 ci: convert CRLF to LF (#20389) 2022-09-29 14:31:12 +02:00
6264aa521e ci(build.ps1): restore comment removed in #19336 2022-08-15 12:41:00 +08:00
5b80d20271 ci(cache): remove ccache
It was never in action since migrating from travis to github actions.
2022-08-12 14:07:23 +01:00
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
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
d77ec8a5c6 ci: remove unnecessary file ci/script.sh
It only runs run_tests.sh and checks coverage, which can be replaced by
just moving the coverage check to ci/run_tests.sh.
2022-07-11 17:16:55 +02:00
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
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
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
84d8cc3ae5 ci: use python3 explicitly to fix macos warnings #18837
> DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020

Testing `pynvim` compatibility with python2 should not be done in core,
and there's only a provider_spec for python3 either way.
2022-06-03 08:15:45 -07:00
79bf507449 ci(provider): skip installing perl provider on macOS
The macOS CI jobs fail to properly install the perl provider, making the
entire thing fail.
2022-06-01 23:05:17 +02:00
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
20aaa59fb3 ci(MinGW): run pacman -Syu twice (#18384) 2022-05-03 20:38:24 +08:00
61205c1def chore: fix typos (#17755)
Co-authored-by: Jordan Haine <jhaine@securitycompass.com>
2022-03-25 19:57:59 +01:00
4ede2ea4b2 test: fix runnvim.sh (#17690) 2022-03-13 22:07:22 +08:00
815ba835a3 ci: refactor and simplify CI process 2022-03-10 09:21:41 +01:00
d47714d87c ci: remove function run_suite 2022-03-10 09:21:41 +01:00
7a0fd7a288 ci: remove variable FAIL_SUMMARY
On GitHub Actions it just repeats the summary that is shown just after.
When run outside of GitHub Actions it erroneously shows the summary of
the previous suites.
2022-03-10 09:21:41 +01:00
fbcbd1d05e ci: remove variable NVIM_TEST_CURRENT_SUITE
We always know where in the test we are anyway, it's just needless
repetition.
2022-03-10 09:21:41 +01:00
17ecb60c58 ci: remove fail character from fail function 2022-03-10 09:21:40 +01:00
bc04c3d1ba revert: "ci(windows): skip oldtest on windows until failing tests are fixed"
This reverts commit 07d3fb6e3b.
2022-03-02 21:28:41 +08:00
07d3fb6e3b ci(windows): skip oldtest on windows until failing tests are fixed
The oltests hang on windows, making all CI runs fail.
2022-03-01 17:03:13 +01:00
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
73da7cef7b Merge pull request #17390 from RenFraser/feature/packaging
ci: improve cpack packaging
2022-02-24 06:46:07 -05:00
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
2550212b25 ci(win): use vswhere to automatically setup required vsdev env vars 2022-02-20 10:18:45 +01:00
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
2446b25c6b ci: only cache third-party deps if they exist 2022-02-19 20:36:29 -05:00
0adbe58bb2 ci: ensure ~/.cache exists 2022-02-19 20:36:29 -05:00
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
b877237612 ci(reviews): move reviews.js to .github/scripts 2022-02-17 14:48:14 +01:00
51cc5c5654 ci: add more reviewers 2022-02-14 18:58:10 +01:00
29eabbcd07 ci: use a separate script for request review workflow 2022-02-14 07:47:10 +08:00
c373226ee7 ci: disable tracing (set -x) from the shell scripts 2022-02-11 16:53:34 +01:00
2c5382aafa ci: remove function run_test 2022-02-10 09:43:51 +01:00
2f3fb53dbd ci: remove meta-suite "tests" 2022-02-10 09:43:51 +01:00
357234865b ci: remove continue flag from exit_suite since it's always needed 2022-02-10 09:43:51 +01:00
b8529ea9b8 ci: run all tests with run_suite function 2022-02-10 09:43:51 +01:00
f30ce7d273 ci: run all suites with run_suite function 2022-02-07 09:57:21 +01:00
fa192e97d5 ci: simplify CI process 2022-02-04 23:51:51 +01:00
b30ac599f8 ci: remove all code containing python2
Also change all mentions of python 3 to just python.
2022-01-26 23:44:02 +01:00
16d64796f4 ci(windows): use the provided python from github actions
This will prevent future errors whenever support for a specific python
version we rely on is removed.
2022-01-26 16:40:43 +01:00
ec615abd1f ci: install flake8 with apt instead of pip 2022-01-03 21:54:23 +01:00
be255557ce ci: simplify ci_fold function (#16874) 2022-01-03 11:47:11 -05:00
e71fbf2eb0 ci: remove unnecessary before_install script 2022-01-02 23:46:46 +01:00
64f23c27e2 ci: remove watchdog function run_tests_wd
It's only used once for running check-single-includes (which I strongly
suspect it doesn't need anyway), its core logic is incorrect since both the
variables "tempsize" and "prev_temsize" are never defined and parsing ps
is incredibly fragile.
2022-01-02 18:23:28 +01:00
f86039de1e ci: remove outdated travis-specific code (#16869) 2022-01-01 12:42:26 -05:00
caa6992a10 chore: fix typos (#16361)
Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: István Donkó <istvan.donko@gmail.com>
Co-authored-by: Julian Berman <Julian@GrayVines.com>
Co-authored-by: bryant <bryant@users.noreply.github.com>
Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com>
Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com>
Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com>
Co-authored-by: Jesse Wertheim <jaawerth@gmail.com>
Co-authored-by: dm1try <me@dmitry.it>
Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: István Donkó <istvan.donko@gmail.com>
Co-authored-by: Julian Berman <Julian@GrayVines.com>
Co-authored-by: bryant <bryant@users.noreply.github.com>
Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com>
Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com>
Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com>
Co-authored-by: Jesse Wertheim <jaawerth@gmail.com>
Co-authored-by: dm1try <me@dmitry.it>
Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
2021-11-27 11:10:48 -05:00
7126315935 fix(ci): use correct check for path-existence 2021-10-31 14:09:10 -04:00
ec0f4fab48 ci(win): only remove choco's cpack.exe if it exists 2021-10-31 09:41:10 -04:00