diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index 4971cb0852..0000000000 --- a/.cirrus.yml +++ /dev/null @@ -1,32 +0,0 @@ -env: - CIRRUS_CLONE_DEPTH: '2' - LANG: en_US.UTF-8 - -freebsd_task: - name: FreeBSD - only_if: $BRANCH != "master" - freebsd_instance: - image_family: freebsd-15-0-amd64-ufs - timeout_in: 30m - install_script: - - pkg install -y cmake gmake ninja unzip wget gettext python git - build_deps_script: - - gmake deps - build_script: - - gmake CMAKE_EXTRA_FLAGS="-DCI_BUILD=ON" 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: - - set +e - # `-k 0` tells ninja to continue running all targets even if some fail. - - sudo -u cirrus cmake --build build --target functionaltest-parallel -j 2 -- -k 0 - - exit_code="$?" - - cmake --build build --target functionaltest-summary - - exit "$exit_code" - unittest_script: - - sudo -u cirrus gmake unittest - oldtest_script: - - sudo -u cirrus gmake oldtest diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1af7434665..12722e88e6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -142,7 +142,7 @@ the VCS/git logs more valuable (try `make lintcommit`). The structure of a commi ### Automated builds (CI) -Each pull request must pass the automated builds on [Cirrus CI] and [GitHub Actions]. +Each pull request must pass the automated builds on [GitHub Actions]. - CI builds are compiled with [`-Werror`][gcc-warnings], so compiler warnings will fail the build. @@ -153,7 +153,6 @@ Each pull request must pass the automated builds on [Cirrus CI] and [GitHub Acti Note that MSVC requires Release or RelWithDebInfo build type to work properly. - The [lint](#lint) build checks that the code is formatted correctly and passes various linter checks. -- CI for FreeBSD runs on [Cirrus CI]. - To see CI results faster in your PR, you can temporarily set `TEST_FILE` in [test.yml](https://github.com/neovim/neovim/blob/ad8e0cfc1dfd937c2577dc032e524c799a772693/.github/workflows/test.yml#L26). @@ -353,7 +352,6 @@ as context, use the `-W` argument as well. [549]: https://github.com/neovim/neovim/issues/549 [1820]: https://github.com/neovim/neovim/pull/1820 [ASan]: http://clang.llvm.org/docs/AddressSanitizer.html -[Cirrus CI]: https://cirrus-ci.com/github/neovim/neovim [GitHub Actions]: https://github.com/neovim/neovim/actions [Vim]: https://github.com/vim/vim [clangd]: https://clangd.llvm.org diff --git a/cmake/RunTests.cmake b/cmake/RunTests.cmake index c5c15bb08c..5cd397f52b 100644 --- a/cmake/RunTests.cmake +++ b/cmake/RunTests.cmake @@ -28,12 +28,6 @@ file(CREATE_LINK ${ROOT_DIR}/src ${TEST_XDG_PREFIX}/src SYMBOLIC) file(CREATE_LINK ${ROOT_DIR}/test ${TEST_XDG_PREFIX}/test SYMBOLIC) file(CREATE_LINK ${ROOT_DIR}/README.md ${TEST_XDG_PREFIX}/README.md SYMBOLIC) -# TODO(dundargoc): The CIRRUS_CI environment variable isn't passed to here from -# the main CMakeLists.txt, so we have to manually pass it to this script and -# re-set the environment variable. Investigate if we can avoid manually setting -# it like with the GITHUB_CI environment variable. -set(ENV{CIRRUS_CI} ${CIRRUS_CI}) - if(NOT DEFINED ENV{NVIM_LOG_FILE}) set(ENV{NVIM_LOG_FILE} ${BUILD_DIR}/nvim.log) endif() diff --git a/runtime/doc/support.txt b/runtime/doc/support.txt index 1b374155b4..7a198214d3 100644 --- a/runtime/doc/support.txt +++ b/runtime/doc/support.txt @@ -17,7 +17,7 @@ Linux (arm64) 1 >= 2.6.32, glibc >= 2.12 Ubuntu 24.04 macOS (x86_64) 1 >= 11 macOS 15 macOS (arm64) 1 >= 11 macOS 26 Windows 64-bit 1 >= Windows 10 Version 2004 Windows Server 2025 -FreeBSD 1 >= 10 FreeBSD 15 +FreeBSD 2 >= 10 OpenBSD 2 >= 7 MinGW 2 MinGW-w64 Windows 64-bit 3 < Windows 10 Version 2004 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cb367b9330..b186ffc6d6 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,7 +5,6 @@ get_directory_property(TEST_INCLUDE_DIRS DIRECTORY ${PROJECT_SOURCE_DIR}/src/nvi set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(TEST_OPTIONS -D BUILD_DIR=${CMAKE_BINARY_DIR} - -D CIRRUS_CI=$ENV{CIRRUS_CI} -D CI_BUILD=${CI_BUILD} -D NVIM_PRG=$ -D TEST_DIR=${TEST_DIR} diff --git a/test/functional/core/fileio_spec.lua b/test/functional/core/fileio_spec.lua index b1a8e21762..cd23e00b03 100644 --- a/test/functional/core/fileio_spec.lua +++ b/test/functional/core/fileio_spec.lua @@ -30,7 +30,6 @@ local write_file = t.write_file local feed_command = n.feed_command local skip = t.skip local is_os = t.is_os -local is_ci = t.is_ci local set_session = n.set_session describe('fileio', function() @@ -125,7 +124,6 @@ describe('fileio', function() end) it('backup #9709', function() - skip(is_ci('cirrus')) clear({ args = { '-i', @@ -151,7 +149,6 @@ describe('fileio', function() end) it('backup with full path #11214', function() - skip(is_ci('cirrus')) clear() mkdir('Xtest_backupdir') command('set backup') @@ -176,7 +173,6 @@ describe('fileio', function() end) it('backup with full path with spaces', function() - skip(is_ci('cirrus')) clear() mkdir('Xtest_backupdir with spaces') command('set backup') @@ -201,7 +197,6 @@ describe('fileio', function() end) it('backup symlinked files #11349', function() - skip(is_ci('cirrus')) clear() local initial_content = 'foo' @@ -222,7 +217,6 @@ describe('fileio', function() end) it('backup symlinked files in first available backupdir #11349', function() - skip(is_ci('cirrus')) clear() local initial_content = 'foo' diff --git a/test/functional/ex_cmds/write_spec.lua b/test/functional/ex_cmds/write_spec.lua index 38cc85fdb6..4ba3952d7e 100644 --- a/test/functional/ex_cmds/write_spec.lua +++ b/test/functional/ex_cmds/write_spec.lua @@ -10,7 +10,6 @@ local fn = n.fn local api = n.api local skip = t.skip local is_os = t.is_os -local is_ci = t.is_ci local read_file = t.read_file local fname = 'Xtest-functional-ex_cmds-write' @@ -56,7 +55,6 @@ describe(':write', function() end) it('&backupcopy=no replaces symlink with new file', function() - skip(is_ci('cirrus')) command('set backupcopy=no') write_file('Xtest_bkc_file.txt', 'content0') if is_os('win') then @@ -148,7 +146,6 @@ describe(':write', function() end) it('errors out correctly', function() - skip(is_ci('cirrus')) command('let $HOME=""') eq(fn.fnamemodify('.', ':p:h'), fn.fnamemodify('.', ':p:h:~')) -- Message from check_overwrite diff --git a/test/functional/plugin/man_spec.lua b/test/functional/plugin/man_spec.lua index c3fec441a9..ec86362dfb 100644 --- a/test/functional/plugin/man_spec.lua +++ b/test/functional/plugin/man_spec.lua @@ -12,8 +12,6 @@ local matches = t.matches local tmpname = t.tmpname local eq = t.eq local pesc = vim.pesc -local skip = t.skip -local is_ci = t.is_ci -- Collects all names passed to find_path() after attempting ":Man foo". local function get_search_history(name) @@ -247,7 +245,6 @@ describe(':Man', function() end) it('reports non-existent man pages for absolute paths', function() - skip(is_ci('cirrus')) local actual_file = tmpname() -- actual_file must be an absolute path to an existent file for us to test against it matches('^/.+', actual_file) diff --git a/test/functional/terminal/ex_terminal_spec.lua b/test/functional/terminal/ex_terminal_spec.lua index bb56a52fd6..d6ecd816e1 100644 --- a/test/functional/terminal/ex_terminal_spec.lua +++ b/test/functional/terminal/ex_terminal_spec.lua @@ -16,7 +16,6 @@ local ok = t.ok local command = n.command local skip = t.skip local is_os = t.is_os -local is_ci = t.is_ci describe(':terminal', function() local screen @@ -52,7 +51,7 @@ describe(':terminal', function() end) it('reads output buffer on terminal reporting #4151', function() - skip(is_ci('cirrus') or is_os('win')) + skip(is_os('win')) if is_os('win') then command( [[terminal powershell -NoProfile -NoLogo -Command Write-Host -NoNewline "\"$([char]27)[6n\""; Start-Sleep -Milliseconds 500 ]] diff --git a/test/harness.lua b/test/harness.lua index 14fa82ea10..4005e7ba56 100644 --- a/test/harness.lua +++ b/test/harness.lua @@ -131,7 +131,7 @@ local uv = vim.uv --- Public test harness module surface. --- @class test.harness ---- @field is_ci fun(name?: 'cirrus'|'github'): boolean +--- @field is_ci fun(name?: 'github'): boolean --- @field on_suite_end fun(callback: fun()): fun() --- @field read_nvim_log fun(logfile?: string, ci_rename?: boolean): string? local M = {} @@ -151,14 +151,13 @@ local function now_seconds() end --- Check whether the harness is running in CI, optionally for one provider. ---- @param name? 'cirrus'|'github' +--- @param name? 'github' --- @return boolean function M.is_ci(name) local any_provider = (name == nil) - assert(any_provider or name == 'github' or name == 'cirrus') + assert(any_provider or name == 'github') local github_actions = ((any_provider or name == 'github') and nil ~= os.getenv('GITHUB_ACTIONS')) - local cirrus_ci = ((any_provider or name == 'cirrus') and nil ~= os.getenv('CIRRUS_CI')) - return github_actions or cirrus_ci + return github_actions end --- Read the last `keep` lines from a file. diff --git a/test/testutil.lua b/test/testutil.lua index b12f5827da..6745613ac1 100644 --- a/test/testutil.lua +++ b/test/testutil.lua @@ -790,7 +790,7 @@ function M.write_file(name, text, no_dedent, append) file:close() end ---- @param name? 'cirrus'|'github' +--- @param name? 'github' --- @return boolean function M.is_ci(name) return harness.is_ci(name)