From 9301abdf748b54fa3d41375cc4659ca9f4b57dd8 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 18 Feb 2023 17:43:39 +0100 Subject: [PATCH] ci: enable CI_BUILD automatically if environment variable CI is true (#22312) 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. --- .cirrus.yml | 3 +-- .github/scripts/build_universal_macos.sh | 2 +- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 4 ++-- .github/workflows/test.yml | 12 +++++++----- scripts/genappimage.sh | 2 +- src/nvim/CMakeLists.txt | 6 +++++- 7 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index e4bac2d014..f602a2c1df 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,7 +1,6 @@ env: CIRRUS_CLONE_DEPTH: '2' LANG: en_US.UTF-8 - CMAKE_EXTRA_FLAGS: -DCI_BUILD=ON freebsd_task: name: FreeBSD @@ -15,7 +14,7 @@ freebsd_task: build_deps_script: - gmake deps build_script: - - gmake CMAKE_EXTRA_FLAGS="${CMAKE_EXTRA_FLAGS}" nvim + - gmake nvim workaround_script: # Run tests as user "cirrus" instead of root. This is required for the # permission-related tests to work correctly. diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh index 392eec62ac..003be75de8 100755 --- a/.github/scripts/build_universal_macos.sh +++ b/.github/scripts/build_universal_macos.sh @@ -25,7 +25,7 @@ MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | cut -f1 -d.)" export MACOSX_DEPLOYMENT_TARGET cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 cmake --build .deps -cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 +cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 -D CI_BUILD=OFF cmake --build build cmake --install build --prefix build/release/nvim-macos cd build diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b9c63b2d8..23ced47c6d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -67,7 +67,7 @@ jobs: run: make deps - name: Build - run: make CMAKE_FLAGS="-D CI_BUILD=ON -D CMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX" + run: make CMAKE_FLAGS="-D CMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX" - name: Install run: make install diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ee2845dd17..4447beab2e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: - name: Build release id: build run: | - CC=gcc-10 make CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH=" + CC=gcc-10 make CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} CMAKE_EXTRA_FLAGS="-DCI_BUILD=OFF -DCMAKE_INSTALL_PREFIX:PATH=" printf 'version<> $GITHUB_OUTPUT ./build/bin/nvim --version | head -n 3 >> $GITHUB_OUTPUT printf 'END\n' >> $GITHUB_OUTPUT @@ -127,7 +127,7 @@ jobs: cmake --build .deps - name: build package run: | - cmake -B build -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo' + cmake -B build -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo' -D CI_BUILD=OFF cmake --build build --target package - uses: actions/upload-artifact@v3 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d9fdeaec9b..3bd982477a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,11 +88,13 @@ jobs: version: latest args: --check runtime/ + - if: success() || failure() && steps.abort_job.outputs.status == 'success' + name: configure + run: cmake -B build -G Ninja -D CI_BUILD=OFF + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: luacheck - run: | - cmake -B build -G Ninja - cmake --build build --target lintlua-luacheck + run: cmake --build build --target lintlua-luacheck - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: lintsh @@ -198,7 +200,7 @@ jobs: - name: Build run: | - cmake -B build -G Ninja -D CI_BUILD=ON -D CMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX ${{ matrix.flags }} + cmake -B build -G Ninja -D CMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX ${{ matrix.flags }} cmake --build build - if: "!cancelled()" @@ -318,7 +320,7 @@ jobs: - name: Build run: | - cmake -B build -G Ninja -D CMAKE_BUILD_TYPE='RelWithDebInfo' -D CI_BUILD=ON + cmake -B build -G Ninja -D CMAKE_BUILD_TYPE='RelWithDebInfo' cmake --build build - name: Install test deps diff --git a/scripts/genappimage.sh b/scripts/genappimage.sh index 9944b5eb31..dc46f4ce17 100755 --- a/scripts/genappimage.sh +++ b/scripts/genappimage.sh @@ -26,7 +26,7 @@ APP_DIR="$APP.AppDir" ######################################################################## # Build and install nvim into the AppImage -make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=${APP_DIR}/usr -DCMAKE_INSTALL_MANDIR=man" +make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_EXTRA_FLAGS="-DCI_BUILD=OFF -DCMAKE_INSTALL_PREFIX=${APP_DIR}/usr -DCMAKE_INSTALL_MANDIR=man" make install ######################################################################## diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 11f2c3dc6d..7d75b8038e 100755 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -170,7 +170,11 @@ if(HAS_DIAG_COLOR_FLAG) endif() endif() -option(CI_BUILD "CI, extra flags will be set" OFF) +if($ENV{CI}) + option(CI_BUILD "CI, extra flags will be set" ON) +else() + option(CI_BUILD "CI, extra flags will be set" OFF) +endif() if(CI_BUILD) message(STATUS "CI build enabled") if(MSVC)