aboutsummaryrefslogtreecommitdiff
path: root/ci
Commit message (Collapse)AuthorAge
* ci: move external_deps job from cirrus-ci back to github actionsdundargoc2023-09-03
| | | | | | | This partially reverts commit 7d0479c55810af9bf9f115ba69d1419ea81ec41e. The job has been particularly unstable when used with docker on cirrus-ci, which is especially bad as it's meant to be a non-flaky and simple test.
* ci: containerize the external dependencies testdundargoc2023-04-26
| | | | | | Cirrus ci automatically pushes/caches docker images, which makes containerization much simpler to handle. Moving this job to cirrus ci shortens the job by a minute, and reduces github actions CI usage by two minutes per PR.
* 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: don't delete core dumps at the start of the run (#22223)dundargoc2023-02-11
| | | There shouldn't be any core dumps before we have started testing.
* 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: inline test.sh to run_tests.sh (#22198)dundargoc2023-02-10
| | | This will get rid of the common/ directory.
* 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.
* build: remove codecov related files (#20859)dundargoc2023-02-09
| | | These aren't needed as we don't use codecov anymore.
* ci: remove fail summary (#22174)dundargoc2023-02-08
| | | | The tests already have a summary at the end, there's no need for an additional fail summary wrapper.
* ci: remove unnecessary END_MARKER variable (#22171)dundargoc2023-02-08
|
* ci: simplify how environment variables are used (#22067)dundargoc2023-02-07
| | | | Having a clear separation between when we manipulate variables and when we export them to GITHUB_ENV makes it less error-prone.
* ci: remove unnecessary variables and functions (#22150)dundargoc2023-02-07
|
* build: don't build libnvim when running the CI (#22149)dundargoc2023-02-06
| | | | It shouldn't be sneakily run alongside the nvim build. If it's to be used it should be done in a separate step.
* ci: remove unhelpful helper functions for make (#22148)dundargoc2023-02-06
|
* refactor(tests): run unittests using main nvim binary in interpreter modebfredl2023-01-31
| | | | This allows us to get rid of the separate "nvim-test" target
* ci(tsan): run functionaltests instead of oldtests (#21744)zeertzjq2023-01-11
| | | | With TUI as an external process oldtests no longer involve threads, so TSAN isn't useful. Meanwhile functionaltests may involve threads.
* ci: remove ci/snap (#21743)dundargoc2023-01-11
| | | Context: https://github.com/neovim/neovim/pull/21166#issuecomment-1377623160
* ci: remove ci/build.ps1 (#20891)dundargoc2022-11-05
| | | | Main benefit is that this will return the correct exit code by default, meaning the lengthy workarounds to properly fail a test aren't needed.
* build(lint): add more shell scripts to lintshdundargoc2022-11-01
|
* ci(windows): build dependencies with Ninja (#20800)dundargoc2022-10-30
| | | | This will save around a minute of CI time for each run. Also clean up build.ps1 by removing unnecessary code.
* ci: convert CRLF to LF (#20389)dundargoc2022-09-29
|
* ci(build.ps1): restore comment removed in #19336zeertzjq2022-08-15
|
* ci(cache): remove ccacheLewis Russell2022-08-12
| | | | It was never in action since migrating from travis to github actions.
* 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 ci/script.shDundar Goc2022-07-11
| | | | | It only runs run_tests.sh and checks coverage, which can be replaced by just moving the coverage check to ci/run_tests.sh.
* 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.
* 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/)
* 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: use python3 explicitly to fix macos warnings #18837kylo2522022-06-03
| | | | | | > 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.
* ci(provider): skip installing perl provider on macOSDundar Goc2022-06-01
| | | | | The macOS CI jobs fail to properly install the perl provider, making the entire thing fail.
* 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(MinGW): run pacman -Syu twice (#18384)zeertzjq2022-05-03
|
* chore: fix typos (#17755)dundargoc2022-03-25
| | | | Co-authored-by: Jordan Haine <jhaine@securitycompass.com>
* test: fix runnvim.sh (#17690)zeertzjq2022-03-13
|
* ci: refactor and simplify CI processDundar Göc2022-03-10
|
* ci: remove function run_suiteDundar Göc2022-03-10
|
* ci: remove variable FAIL_SUMMARYDundar Göc2022-03-10
| | | | | | 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.
* ci: remove variable NVIM_TEST_CURRENT_SUITEDundar Göc2022-03-10
| | | | | We always know where in the test we are anyway, it's just needless repetition.
* ci: remove fail character from fail functionDundar Göc2022-03-10
|
* revert: "ci(windows): skip oldtest on windows until failing tests are fixed"zeertzjq2022-03-02
| | | | This reverts commit 07d3fb6e3b5f9f10b24103363ea7203deb336f06.
* ci(windows): skip oldtest on windows until failing tests are fixedDundar Göc2022-03-01
| | | | The oltests hang on windows, making all CI runs fail.
* Merge pull request #17467 from dundargoc/ci/remove-failing-windowsJames McCoy2022-02-25
|\ | | | | ci: remove failing windows CI tests
| * ci(win): use vswhere to automatically setup required vsdev env varsJames McCoy2022-02-20
| |
| * ci: bump Windows image to windows-2019James McCoy2022-02-20
| | | | | | | | | | | | | | | | 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.
* | Merge pull request #17390 from RenFraser/feature/packagingJames McCoy2022-02-24
|\ \ | | | | | | ci: improve cpack packaging
| * | ci: improved cpack packagingHenry Fraser2022-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | ci: only cache third-party deps if they existJames McCoy2022-02-19
| | |
* | | ci: ensure ~/.cache existsJames McCoy2022-02-19
| |/ |/|