aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
Commit message (Collapse)AuthorAge
* ci: fix api-docs workflowdundargoc2023-11-27
| | | | | `git diff-index` only works for tracked files, and unchanged documentation files counts as untracked when shallow cloning.
* ci: bump actions/github-script from 6 to 7 (#26041)dependabot[bot]2023-11-15
| | | | | | | | | | | | | | | Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/github-script dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: skip api-doc workflow on draft PRsdundargoc2023-11-11
| | | | | Checking the documentation generation is mostly useful towards the end of a pull request like with the lintcommit workflow.
* ci: remove UBSAN_OPTIONS environment variable (#25963)zeertzjq2023-11-10
| | | | | Because it overrides log_path from ASAN_OPTIONS. Ref https://github.com/google/sanitizers/issues/1675
* ci: work around flaky python3 testsdundargoc2023-11-06
| | | | | | | | Python3 provider tests suddenly became extremely flaky on macos for unknown reasons. For some reason, installing python with the setup-python action over using the default python fixes the flakiness. Use this workaround for the time being to unblock CI while we figure out the root cause.
* ci: don't install unzipdundargoc2023-11-05
| | | | It is no longer needed now that luarocks isn't used.
* build: various cmake fixesdundargoc2023-11-04
| | | | | | | - silence false warnings on MSVC - merge `clang-tidy` cmake target into `lintc` and remove the corresponding make target - use cmake's built-in endianness detection
* ci: various fixesdundargoc2023-11-03
| | | | | | | - adjust reviewers - add workflow as cache key - install attr only when tesitng - fix s390x workflow by checking out the merge PR instead of master
* build: use built nvim artifact to generate eval files (#25875)Gregory Anders2023-11-02
| | | | | | | | | | | In cases where the generated files depend on changes to Nvim itself, generating the files with an older version of Nvim will fail because those changes are not present in the older version. For example, if a new option is added then the generator script should be run with the version of Nvim that contains the new option, or else the generation will fail. Co-authored-by: dundargoc <gocdundar@gmail.com>
* ci: add optional CI that can be triggered manuallydundargoc2023-11-01
| | | | | | | | These are meant for expensive or situational tests that may not be suitable to run each time, but can occasionally be useful. Currently only add testing for s390x. The job is enabled by adding the ci-s390x label in github.
* build: set char to always be signeddundargoc2023-11-01
| | | | | Sticking to the same convention makes it easier to reason about the code and reduces complexity.
* ci: bump korthout/backport-action from 1 to 2dependabot[bot]2023-10-30
|
* ci: run tests in paralleldundargoc2023-10-22
| | | | | | | | | | | | | | | This will run the three test suites (unit, functional and old) in parallel, meaning that neovim is built for each test and run separately. This has a slight increase in total CI usage, but it allows rerunning only the specific test suite that failed for flaky tests, which will save some time. Ideally we'd remove any drawbacks by building neovim once and reusing it for each test suite, but that is not currently possible due to poor upload/download speeds of the upload-artifact and download-artifact actions. This has been addressed in https://github.com/actions/toolkit/pull/1488, but will only be made available in upload-artifact@v4 and download-artifact@v4.
* ci: install perl provider on macdundargoc2023-10-21
| | | | | | Perl provider installation was previously disabled on mac due to a version conflict in 79bf5074499ae06788762ec49d12af6175b01d15. It is no longer present, so we enable it.
* docs: small fixesdundargoc2023-10-10
| | | | | | Co-authored-by: Wansmer <wansmer@gmail.com> Co-authored-by: Andrew Voynov <andrewvoynov.b@gmail.com> Co-authored-by: David Moberg <david.moberg@mediatek.com>
* ci: use clang 17 as the default clang version is too olddundargoc2023-10-09
|
* ci: various cleanupsdundargoc2023-10-09
| | | | | - add reviewers - correct cache key
* ci: enable clang-analyzer warningsdundargoc2023-10-09
| | | | | | | | | | | | | This adds the checks in https://neovim.io/doc/reports/clang/ when using clang-tidy. The strategy is to enable all clang-analyzer checks, and disable only the checks for the warnings that exist currently. This allows us to eliminate each warning type without blocking ongoing work, but also without adding bugs for already eliminated warnings. The plan is to eventually eliminate https://neovim.io/doc/reports/clang/ by completely integrating it into the clang-tidy check. Also add make and cmake targets `clang-analyzer` to run this check.
* ci(codeql): add concurrency to cancel unnecessary jobs earlydundargoc2023-09-10
|
* ci: install stylua from their releasesdundargoc2023-09-10
| | | | It's quicker to grab the .zip file rather than using homebrew.
* revert: "ci: trigger tests when pushing"dundargoc2023-09-09
| | | | | | | | | This reverts commit e71c7898ca3cf3af1243227ff3cba526d48897e8. Triggering jobs on users own fork turned out to be not that useful, and only necessary in rare moments. It's easier to adjust the CI scripts if the users wants CI results before creating a pull request. It also reduces the complexity of the CI code.
* ci(release): remove unnecessary full clonedundargoc2023-09-09
|
* ci: remove container solution for the linux runnerdundargoc2023-09-09
| | | | | | | | This will fix the failing release job. Ubuntu 18.04 is incompatible with checkout action version 4, which requires glibc 2.28+. This will bump the minimum glibc version required to use the release versions to 2.31. People requring the older releases can find them at https://github.com/neovim/neovim-releases.
* ci: bump actions/checkout from 3 to 4dependabot[bot]2023-09-04
| | | | | | | | | | | | | | | Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* 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.
* docs(generators): bake into cmakeLewis Russell2023-08-23
|
* ci: run codeql on pull requests #24545Justin M. Keyes2023-08-13
| | | Also use cache to save 1 minute.
* ci(labeler): run "type-scope" after "triage"zeertzjq2023-08-09
| | | | | Problem: When "triage" job is run after "type-scope" job, it may remove labels added by the "type-scope" job. Solution: Run "type-scope" job after "triage" job.
* feat(lua-types): types for vim.api.* (#24523)Lewis Russell2023-08-01
|
* feat(docs): generate builtin.txt (#24493)Lewis Russell2023-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - eval.lua is now the source of truth. - Formatting is much more consistent. - Fixed Lua type generation for polymorphic functions (get(), etc). - Removed "Overview" section from builtin.txt - Can generate this if we really want it. - Moved functions from sign.txt and testing.txt into builtin.txt. - Removed the *timer* *timers* tags since libuv timers via vim.uv should be preferred. - Removed the temp-file-name tag from tempname() - Moved lueval() from lua.txt to builtin.txt. * Fix indent * fixup! * fixup! fixup! * fixup! better tag formatting * fixup: revert changes no longer needed * fixup! CI --------- Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* feat(lua): typing for vim.fn.* (#24473)Lewis Russell2023-07-26
| | | | | | | Problem: No LSP information for `vim.fn.*` Solution: Add meta file for `vim.fn.*`.
* ci: introduce CI_LINT optiondundargoc2023-06-24
| | | | | | This will abort if lint programs are not found, and is meant primarily for the lint job in CI. Supersedes the REQUIRED argument in add_glob_target as it's a superior replacement by being a built-in solution.
* build!: remove neovim qtdundargoc2023-06-06
| | | | | | | | | | | | | | | | | | | | | | | Neovim QT was originally bundled on Windows as a response to the then lackluster terminal options. The situation has dramatically changed, with viable options such as Windows terminal, Alacritty and Wezterm to name a few. The Windows build no longer needs this special treatment for neovim to be usable. Pros: - Release builds will be smaller. - Less maintenance burden. - Clearer separation of responsibility (neovim issues go to the neovim repo and neovim-qt issues to the neovim-qt repo). - More consistent treatment between platforms. Cons: - Users who've come to expect neovim-qt to be bundled with nvim will need to adjust and download neovim-qt from https://github.com/equalsraf/neovim-qt instead. - Similarly, build scripts will need to be adjusted to reflect this change. Closes https://github.com/neovim/neovim/issues/21209.
* docs: small fixes (#23619)dundargoc2023-06-02
| | | | | | Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Gustavo Ferreira <gustavo.ferreira@imaginecurve.com> Co-authored-by: Kai Moschcau <mail@kmoschcau.de> Co-authored-by: Lampros <hauahx@gmail.com>
* ci(issue-open-check): don't add "doc" labelzeertzjq2023-05-31
| | | "doc" label doesn't exist and mentioning "doc" doesn't mean anything.
* ci: remove reviewdog for uncrustifydundargoc2023-05-27
| | | Now that uncrustify is bundled it is no longer necessary.
* build: remove functionaltest-lua targetdundargoc2023-05-24
| | | | | It's not needed anymore as it does the exact same thing as functionaltest. The functionaltest target will test the lua type neovim was built with, which can be toggled with the PREFER_LUA option.
* ci: remove api-docs-check workflowdundargoc2023-05-24
| | | | Having a workflow that creates a PR with the necessary changes on master is redundant as this check is enforced for each PR anyway.
* ci: add check to ensure USE_EXISTING_SRC_DIR=ON builds workJames McCoy2023-05-22
|
* build: bundle uncrustifydundargoc2023-05-18
| | | | | | Uncrustify is sensitive to version changes, which causes friction for contributors that doesn't have that exact version. It's also simpler to download and install the correct version than to have bespoke version checking.
* ci: remove redundant asan and ubsan optionsii142023-05-15
| | | We now have default options for ASAN and UBSAN (#23259)
* ci: trigger tests when pushingdundargoc2023-05-15
| | | | | | | | | | | | | | | | | | This will allow contributors to test changes in their own fork when pushing without needing to make a pull request. This can be useful when wanting to test out an idea before initiating a review process. Make the following assumptions when defining concurrency: - Pull request will work the same. - Pushes to the neovim repo will work the same: each unique commit will trigger a test run that won't cancel each other. - Pushes to forks will cancel older CI runs on the same branch, similar to how pull requests work. This will create duplicate CI runs when doing a pull request, one in the neovim repo for the pull request event and one in the fork for the push event. This is an acceptable trade as the runs in the fork doesn't count towards the CI limit of neovim. Contributors are also free to disable these actions in their own fork if they wish.
* docs: small fixesdundargoc2023-05-13
| | | | | | | | | Co-authored-by: Christian Clason <c.clason@uni-graz.at> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: HiPhish <hiphish@posteo.de> Co-authored-by: Julio B <julio.bacel@gmail.com> Co-authored-by: T727 <74924917+T-727@users.noreply.github.com> Co-authored-by: camoz <camoz@users.noreply.github.com> Co-authored-by: champignoom <66909116+champignoom@users.noreply.github.com>
* ci: auto-add labels on issues based on titleRaphael2023-05-07
| | | | This is similar to the pull request labeler. We search for certain key words in the issue title and add them if they are present.
* ci: make install_deps.sh more flexibledundargoc2023-04-29
| | | | This will allow us to use it in containers as well as specify whether we want to install test dependencies.
* ci: run lintcommit with cmake targetdundargoc2023-04-29
| | | | This increases CI time, but prevents situations where it works on CI but not locally.
* ci: install uncrustify through homebrewdundargoc2023-04-29
| | | | It will result in less CI code, and the additional CI time is negligible.
* ci: replace stylua action with our own lint targetdundargoc2023-04-29
| | | | | | | This will prevent situations where the linting works on CI but not locally, at the cost of increased CI time. Also manually ignore `runtime/vim/lua/re.lua`, as the .styluaignore isn't respected when specifying a file instead of a directory.
* ci: replace stale bot with custom implementationdundargoc2023-04-27
| | | | The stale action has a bug where it won't close an issue/PR if it has comments after the stale label.
* 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.