aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml
Commit message (Collapse)AuthorAge
* ci: update which paths to ignore (#20510)dundargoc2022-10-06
| | | | | | | | Skipping the CI on documentation-only changes is no longer appropriate as we now rely on CI to test parts of documentation, e.g. test/functional/lua/help_spec.lua. Ignore changes in contrib/ as it's for non-essential user contributions that we don't need to test.
* ci(stylua): change action version to v1 (#20273)dundargoc2022-09-22
| | | | Changing the action version to v1 allows us to automatically get patch updates as it points to the latest stable version.
* 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(cache): remove ccacheLewis Russell2022-08-12
| | | | It was never in action since migrating from travis to github actions.
* 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: 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.
* 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: run tests with no treesitter parsers installedJames McCoy2022-06-08
|
* 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: 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: 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: refactor and simplify CI processDundar Göc2022-03-10
|
* ci(macos): minimize log output from brew updateDundar Göc2022-03-07
| | | | | Also remove perl from brew install to prevent a warning that states it's already installed.
* ci: document the purpose of some non-obvious jobsDundar Göc2022-03-07
|
* ci(lint): re-add building of third-partyJames McCoy2022-02-27
|
* ci: add timeout to all jobsDundar Göc2022-02-26
|
* Merge pull request #17467 from dundargoc/ci/remove-failing-windowsJames McCoy2022-02-25
|\ | | | | ci: remove failing windows CI tests
| * 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.
* | ci: skip ci workflow on only documentation changesDundar Göc2022-02-21
| |
* | Merge pull request #17469 from jamessan/use-sysdeps-for-lint-ciJames McCoy2022-02-20
|\ \ | | | | | | Use system dependencies for lint CI
| * | ci(lint): explicity build nvimJames McCoy2022-02-19
| | | | | | | | | | | | | | | | | | “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.
| * | ci(lint): install deps via apt instead of building from third-partyJames McCoy2022-02-19
| |/
* / ci: remove success check since it's the defaultDundar Göc2022-02-20
|/
* Merge pull request #17404 from dundargoc/ci/put-each-test-in-separate-stepJames McCoy2022-02-18
|\ | | | | ci: run each test suite in a separate github step
| * ci: run each test suite in a separate github stepDundar Göc2022-02-18
| | | | | | | | | | This should help combat some of the lagginess when looking at the CI logs in the browser.
* | ci(lint): simplify cache keyDundar Göc2022-02-18
|/
* ci(lint): remove unnecessary stepsDundar Göc2022-02-17
|
* revert: "ci: run functionaltest-lua on drafts as well"Dundar Göc2022-02-15
| | | | This reverts commit a91a5c1880dcb7718aed4e19ff2757be0948e7d5.
* chore: fix typos (#16816)dundargoc2022-01-04
| | | | | | | 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>
* ci: install flake8 with apt instead of pipDundar Göc2022-01-03
|
* ci: remove unnecessary before_install scriptDundar Göc2022-01-02
|
* Merge pull request #16853 from jamessan/clint-master-onlyJames McCoy2022-01-02
|\ | | | | ci: run lint only on master branch
| * ci: run lint only on master branchJames McCoy2021-12-31
| | | | | | | | | | The list of known lint issues is only updated for the master branch, so other branches report lots of false positive issues.
* | Merge pull request #16840 from zeertzjq/ci-clang-13James McCoy2022-01-01
|\ \ | |/ |/| ci: bump clang version to 13 in asan and tsan
| * ci: bump clang version to 13 in asan and tsanzeertzjq2022-01-01
| |
* | ci: remove outdated brew workaround that isn't needed anymoreDundar Göc2021-12-31
|/
* ci: cancel in-progress CI if a PR is updatedJames McCoy2021-12-25
| | | | [skip ci]
* ci: remove "brew upgrade" from macos jobsDundar Göc2021-12-04
| | | | | | Packages are automatically upgraded on install. This will avoid upgrading unrelated packages, cutting the macos job time to about a half.
* ci!: remove win32 builds/releasesJames McCoy2021-11-14
|