mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
2d6735d8ce
dispatch.sr.ht is being deprecated, meaning that using sourcehut CI won't be possible (see https://github.com/neovim/neovim/issues/19609). Since Github Actions doesn't provide any BSD runners an external service is required and Cirrus CI seems like a good replacement for sourcehut. Initially experimented with using FreeBSD and OpenBSD virtual machines in GitHub Actions, but Cirrus has been a much better fit with better performance, logs and overall experience. Failing tests are automatically skipped on FreeBSD regardless if it's on CI or not. Ideally these tests should only be skipped in CI with the help of `isCI` helper function. Unfortunately, the tests don't recognize the environment variable CIRRUS_CI even if it's set manually. This workaround is good enough for the time being, but we might want to only skip tests when using the CI (or even better, fix the failing tests). Closes: https://github.com/neovim/neovim/issues/19609
30 lines
865 B
YAML
30 lines
865 B
YAML
env:
|
|
CIRRUS_CLONE_DEPTH: '1'
|
|
LANG: en_US.UTF-8
|
|
CMAKE_EXTRA_FLAGS: -DCI_BUILD=ON -DMIN_LOG_LEVEL=3
|
|
|
|
freebsd_task:
|
|
name: FreeBSD
|
|
only_if: $BRANCH != "master"
|
|
freebsd_instance:
|
|
image_family: freebsd-13-1
|
|
timeout_in: 30m
|
|
install_script:
|
|
- pkg update -f
|
|
- pkg install -y cmake gmake ninja libtool automake pkgconf unzip wget gettext python libffi git
|
|
build_deps_script:
|
|
- gmake deps
|
|
build_script:
|
|
- gmake CMAKE_EXTRA_FLAGS="${CMAKE_EXTRA_FLAGS}" nvim
|
|
workaround_script:
|
|
# Run tests as user "cirrus" instead of root. This is required for the
|
|
# permission-related tests to work correctly.
|
|
- pw useradd cirrus -m
|
|
- chown -R cirrus:cirrus .
|
|
functionaltest_script:
|
|
- sudo -u cirrus gmake functionaltest
|
|
unittest_script:
|
|
- sudo -u cirrus gmake unittest
|
|
oldtest_script:
|
|
- sudo -u cirrus gmake oldtest
|