aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
Commit message (Collapse)AuthorAge
* ci(build.yml): disable security restrictiondundargoc2024-12-16
| | | | | | A new security restriction in Ubuntu 24.04 prevents users from using `unshare`, so we need to disable it in order for the test to work properly.
* build: bump minimum cmake version to 3.16dundargoc2024-09-21
|
* feat(treesitter): add support for wasm parsersLewis Russell2024-08-26
| | | | | | | | | | | | | | | | | | | | Problem: Installing treesitter parser is hard (harder than climbing to heaven). Solution: Add optional support for wasm parsers with `wasmtime`. Notes: * Needs to be enabled by setting `ENABLE_WASMTIME` for tree-sitter and Neovim. Build with `make CMAKE_EXTRA_FLAGS=-DENABLE_WASMTIME=ON DEPS_CMAKE_FLAGS=-DENABLE_WASMTIME=ON` * Adds optional Rust (obviously) and C11 dependencies. * Wasmtime comes with a lot of features that can negatively affect Neovim performance due to library and symbol table size. Make sure to build with minimal features and full LTO. * To reduce re-compilation times, install `sccache` and build with `RUSTC_WRAPPER=<path/to/sccache> make ...`
* ci(build): use latest over explicit image versiondundargoc2024-05-11
| | | | | These jobs should be safe to just use the latest as there's not many moving parts as opposed to `test.yml`.
* ci: add workflow_dispatch event to testing workflowsdundargoc2024-03-27
| | | | This allows us to easily test the release branch if needed.
* ci: provide separate macos releases for intel and armdundargoc2024-03-24
| | | | | | This will immensely reduce the complexity required to support both architectures, reduce overall lines of code and unblock follow-up simplifications.
* ci: simplify concurrency stringdundargoc2024-03-16
| | | | | | | `github.ref` is now defined for both pull requests and pushes, meaning that it can be used to simplify the concurrency group. `cancel-in-progress` is set to true only if the trigger is a pull request, as we don't want master runs to cancel each other out.
* ci: test on macOS M1 (#27276)Christian Clason2024-02-17
| | | | | | | Problem: No test coverage on ARM. Solution: Add `macos-14` tests, which now run on M1. Skip unit tests as these don't work on M1, see #26145. Also test universal build on M1. Note: `macos-14` will be `macos-latest` in Q2 2024, so we'll want to switch these to keep Intel and unittest coverage on macos (while GH still offers Intel runners).
* build: various fixesdundargoc2024-02-01
| | | | | | | - Consistently use the variable CMAKE_BUILD_TYPE to select build type. - Remove broken `doc_html` target. - Remove swap files created by oldtest when cleaning. - Only rerun `lintdoc` if any documentation files has changed.
* build: bump minimum cmake version to 3.13dundargoc2023-12-16
| | | | | | | | | | | The benefits are primarily being able to use FetchContent, which allows for a more flexible dependency handling. Other various quality-of-life features such as `-B` and `-S` flags are also included. This also removes broken `--version` generation as it does not work for version 3.10 and 3.11 due to the `JOIN` generator expression. Reference: https://github.com/neovim/neovim/issues/24004
* ci: create setup actiondundargoc2023-12-01
| | | | This deduplicates common operations.
* 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
* 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: 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: add check to ensure USE_EXISTING_SRC_DIR=ON builds workJames McCoy2023-05-22
|
* 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.
* ci: don't automatically enable -Werror on CI environmentsdundargoc2023-04-07
| | | | | | This catches downstream consumers of neovim off guard when using neovim in an esoteric environment not tested in our own CI. Closes https://github.com/neovim/neovim/issues/22932
* ci: test build with external dependencies on every pull requestdundargoc2023-03-11
| | | | | | Only testing the build with external dependencies on build system changes is too naive, as demonstrated by b9f19d3e286d95d9209afbc479fa2eb908067fb1.
* ci: build all build types on each PR (#22441)dundargoc2023-02-27
| | | | | | Building with Release and RelWithDebInfo build types only on build system changes is too optimistic, as shown by https://github.com/neovim/neovim/pull/22436 and 659234c95a23307486a4b7496f3f4391a4bdbe58.
* ci: use multi-config generator on the multi-config test (#22352)dundargoc2023-02-21
|
* ci: enable CI_BUILD automatically if environment variable CI is true (#22312)dundargoc2023-02-18
| | | | | | | Having to specify CI_BUILD for every CI job requires boilerplate. More importantly, it's easy to forget to enable CI_BUILD, as seen by 8a20f9f98a90a7a43aea08fcde2c40a5356b4f7b. It's simpler to remember to turn CI_BUILD off when a job errors instead of remembering that every new job should have CI_BUILD on.
* build: test multi-config generator (#22310)dundargoc2023-02-18
| | | | | | Multi-config generators can be tricky so testing them would be good. Also test GCC release and MinSizeRel build types as they're prone to unusual warnings. Remove release testing from test.yml as this is a sufficient replacement.
* ci: split ci.yml into a test workflow and a build test workflow (#22302)dundargoc2023-02-18
Having a workflow that only builds neovim without running all of the tests is a cheap way to test the build still works without burning too much CI time.