From 6254b0fd3bc725705020192dc9e35635136b9929 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sun, 4 Sep 2022 16:13:37 +0200 Subject: ci(tests): don't skip parsers on functionaltest Treesitter parsers are now a mandatory part of the installation and should be tested on all platforms. Remove `pending_c_parser` helper. --- .github/workflows/env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/env.sh b/.github/workflows/env.sh index 061588da1a..da70d358a9 100755 --- a/.github/workflows/env.sh +++ b/.github/workflows/env.sh @@ -57,7 +57,7 @@ EOF functionaltest-lua) BUILD_FLAGS="$BUILD_FLAGS -DPREFER_LUA=ON" FUNCTIONALTEST=functionaltest-lua - DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -DUSE_BUNDLED_LUAJIT=OFF -DUSE_BUNDLED_TS_PARSERS=OFF" + DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -DUSE_BUNDLED_LUAJIT=OFF" ;; *) ;; -- cgit From c126c1f73a0bae3ac40ce460ef303348a671a08f Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal2009@users.noreply.github.com> Date: Sat, 17 Sep 2022 04:03:06 +0530 Subject: ci(release-winget): publish nightly winget prerelease #20209 --- .github/workflows/release.yml | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d6933e9330..dd5a690a30 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -229,14 +229,31 @@ jobs: fi publish-winget: needs: publish # run after publish job is finished - # publish to winget only on stable releases - if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly') runs-on: windows-latest # action can only be run on windows steps: - - uses: vedantmgoyal2009/winget-releaser@latest + - if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly') + name: Publish stable + uses: vedantmgoyal2009/winget-releaser@latest with: identifier: Neovim.Neovim # the latter one is a fallback value, reference: # https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value release-tag: ${{ github.event.inputs.tag_name || github.ref }} token: ${{ secrets.WINGET_TOKEN }} + - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') + name: Get nightly version + id: get-version + run: | + Invoke-WebRequest https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.msi -OutFile setup.msi + Install-Module -Name 'Carbon' -AllowClobber -Force + Import-Module Carbon + $VERSION = (Get-CMsi .\setup.msi).ProductVersion + echo "::set-output name=version::$VERSION" + - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') + name: Publish nightly + uses: vedantmgoyal2009/winget-releaser@latest + with: + identifier: Neovim.Neovim.Nightly + version: ${{ steps.get-version.outputs.version }} + release-tag: nightly + token: ${{ secrets.WINGET_TOKEN }} -- cgit From 7a091fdfafc5393263e74a8fdfe3467f9ae7349b Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal2009@users.noreply.github.com> Date: Mon, 19 Sep 2022 14:18:05 +0530 Subject: ci(publish-winget): fix errors that prevents release (#20232) --- .github/workflows/release.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd5a690a30..5e0ea5e5f4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -228,16 +228,14 @@ jobs: gh release create stable $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos/* nvim-linux64/* appimage/* nvim-win64/* fi publish-winget: - needs: publish # run after publish job is finished - runs-on: windows-latest # action can only be run on windows + needs: publish + runs-on: windows-latest steps: - if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly') name: Publish stable uses: vedantmgoyal2009/winget-releaser@latest with: identifier: Neovim.Neovim - # the latter one is a fallback value, reference: - # https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value release-tag: ${{ github.event.inputs.tag_name || github.ref }} token: ${{ secrets.WINGET_TOKEN }} - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') @@ -245,9 +243,8 @@ jobs: id: get-version run: | Invoke-WebRequest https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.msi -OutFile setup.msi - Install-Module -Name 'Carbon' -AllowClobber -Force - Import-Module Carbon - $VERSION = (Get-CMsi .\setup.msi).ProductVersion + Install-Module -Name 'Carbon.Windows.Installer' -Force + $VERSION = (Get-CMsi (Resolve-Path .\setup.msi).Path).ProductVersion echo "::set-output name=version::$VERSION" - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') name: Publish nightly -- cgit From 0760379b413ca95b80ed2970b49f14ba3b1acbf9 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 22 Sep 2022 20:19:38 +0200 Subject: ci(stylua): change action version to v1 (#20273) Changing the action version to v1 allows us to automatically get patch updates as it points to the latest stable version. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e22d99067a..a76e37ce5d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,7 +97,7 @@ jobs: - if: "!cancelled()" name: lintstylua - uses: JohnnyMorganz/stylua-action@1.0.0 + uses: JohnnyMorganz/stylua-action@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --check runtime/ -- cgit From 6afe5cce7964258f7ee0b25ae08faa551bc76090 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Tue, 27 Sep 2022 14:53:48 +0200 Subject: ci(backport): bump to backport-action@v0.0.8 #20366 Primary bug fix is allowing backports with empty PR description. --- .github/workflows/backport.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml index b5fd22d036..910df32a51 100644 --- a/.github/workflows/backport.yml +++ b/.github/workflows/backport.yml @@ -21,7 +21,7 @@ jobs: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} - name: Create backport PRs - uses: zeebe-io/backport-action@v0.0.7 + uses: zeebe-io/backport-action@v0.0.8 with: github_token: ${{ secrets.GITHUB_TOKEN }} github_workspace: ${{ github.workspace }} -- cgit From eb4844b5ed9bcf8c434a93b9f9def4fe81557f37 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Wed, 28 Sep 2022 11:06:11 +0200 Subject: build(macos): restore and test universal build (#20383) Build tree-sitter parsers for arm64 as well as x86 Check that all created binaries contain both architectures --- .github/workflows/release.yml | 5 +++++ 1 file changed, 5 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e0ea5e5f4..5fc40a2471 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -113,6 +113,11 @@ jobs: DEPS_CMAKE_FLAGS="$OSX_FLAGS" make DESTDIR="$GITHUB_WORKSPACE/build/release/nvim-macos" install cd "$GITHUB_WORKSPACE/build/" + # Make sure we build everything for M1 as well + for macho in bin/* lib/nvim/parser/*.so + do + lipo -info "$macho" | grep -q arm64 || exit 1 + done cpack -C "$NVIM_BUILD_TYPE" - uses: actions/upload-artifact@v3 with: -- cgit From 63aea857a905b70099fa34f0819765e9c3ce42fc Mon Sep 17 00:00:00 2001 From: dundargoc Date: Fri, 30 Sep 2022 16:39:57 +0200 Subject: ci(release): remove unnecessary matrix strategy We only have one Windows release job, so the matrix setup isn't needed. --- .github/workflows/release.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5fc40a2471..86067a34d2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -131,12 +131,7 @@ jobs: DEPS_BUILD_DIR: ${{ format('{0}/nvim-deps', github.workspace) }} DEPS_PREFIX: ${{ format('{0}/nvim-deps/usr', github.workspace) }} CMAKE_BUILD_TYPE: "RelWithDebInfo" - strategy: - matrix: - include: - - config: MSVC_64 - archive: nvim-win64 - name: windows (${{ matrix.config }}) + name: windows (MSVC_64) steps: - uses: actions/checkout@v3 with: @@ -147,10 +142,10 @@ jobs: run: .\ci\build.ps1 -Package - uses: actions/upload-artifact@v3 with: - name: ${{ matrix.archive }} + name: nvim-win64 path: | - build/${{ matrix.archive }}.msi - build/${{ matrix.archive }}.zip + build/nvim-win64.msi + build/nvim-win64.zip retention-days: 1 publish: -- cgit From 618d21fcc9635051a16b67310e51f2729252a46f Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal2009@users.noreply.github.com> Date: Sat, 1 Oct 2022 22:43:44 +0530 Subject: ci(publish-winget): use versioned tags for action #20417 --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 86067a34d2..e713e3969a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -233,10 +233,10 @@ jobs: steps: - if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly') name: Publish stable - uses: vedantmgoyal2009/winget-releaser@latest + uses: vedantmgoyal2009/winget-releaser@v1 with: identifier: Neovim.Neovim - release-tag: ${{ github.event.inputs.tag_name || github.ref }} + release-tag: ${{ github.event.inputs.tag_name || github.ref_name }} token: ${{ secrets.WINGET_TOKEN }} - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') name: Get nightly version @@ -248,7 +248,7 @@ jobs: echo "::set-output name=version::$VERSION" - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') name: Publish nightly - uses: vedantmgoyal2009/winget-releaser@latest + uses: vedantmgoyal2009/winget-releaser@v1 with: identifier: Neovim.Neovim.Nightly version: ${{ steps.get-version.outputs.version }} -- cgit From 6cd643dbf9a17ec6700c1b015cb4ac202ec1b0b6 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 6 Oct 2022 18:45:42 +0200 Subject: ci: update which paths to ignore (#20510) Skipping the CI on documentation-only changes is no longer appropriate as we now rely on CI to test parts of documentation, e.g. test/functional/lua/help_spec.lua. Ignore changes in contrib/ as it's for non-essential user contributions that we don't need to test. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a76e37ce5d..992c59454b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: - 'master' - 'release-[0-9]+.[0-9]+' paths-ignore: - - 'runtime/doc/*' + - 'contrib/**' # Cancel any in-progress CI runs for a PR if it is updated concurrency: -- cgit From f2cab9b5b41e2596dff24dbae29b82a7dfa3479a Mon Sep 17 00:00:00 2001 From: mliszcz Date: Fri, 7 Oct 2022 14:56:31 +0200 Subject: ci: use ubuntu docker container to build appimage Switch back to Ubuntu 18.04 for buliding the appimage. This allows for using the appimage on older systems that do not provide GLIBC_2.29. Fixes #19711. Fixes #20113. --- .github/workflows/release.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e713e3969a..1444109eae 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,14 +51,28 @@ jobs: appimage: runs-on: ubuntu-20.04 + container: + image: ubuntu:18.04 + options: --privileged # Privileged mode is needed to load fuse module. steps: + - name: Prepare container + run: | + apt-get update + apt-get install -y software-properties-common + add-apt-repository -y ppa:ubuntu-toolchain-r/test # For gcc-10. + add-apt-repository -y ppa:git-core/ppa # For git>=2.18. + apt-get update + apt-get install -y git gcc-10 + apt-get install -y fuse libfuse2 # For linuxdeploy. + # Workaround for https://github.com/actions/checkout/issues/766. + git config --global --add safe.directory "$GITHUB_WORKSPACE" - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install dependencies run: | - sudo apt-get update - sudo apt-get install -y autoconf automake build-essential cmake gettext libtool-bin locales ninja-build pkg-config unzip + apt-get update + apt-get install -y autoconf automake build-essential cmake gettext libtool-bin locales ninja-build pkg-config unzip - if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly') run: CC=gcc-10 make appimage-latest - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') -- cgit From 048baa92bee714ddfeaebe7699d6cb48dc69c1d7 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Sat, 8 Oct 2022 14:24:03 +0200 Subject: ci(backport): bump version to v0 backport-action now uses "v0" tag to point to the latest stable version. This helps us avoid having to manually bump the version to get bug fixes. --- .github/workflows/backport.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml index 910df32a51..019fb20689 100644 --- a/.github/workflows/backport.yml +++ b/.github/workflows/backport.yml @@ -21,7 +21,7 @@ jobs: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} - name: Create backport PRs - uses: zeebe-io/backport-action@v0.0.8 + uses: zeebe-io/backport-action@v0 with: github_token: ${{ secrets.GITHUB_TOKEN }} github_workspace: ${{ github.workspace }} -- cgit From 288208257c8d6b3c8dcce7ee6c7b6c7bb7bafb27 Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Sat, 8 Oct 2022 15:48:07 +0100 Subject: feat(cscope)!: remove --- .github/workflows/ci.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 992c59454b..f4731e2b32 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -254,7 +254,7 @@ jobs: if: matrix.os == 'linux' run: | sudo apt-get update - sudo apt-get install -y autoconf automake build-essential cmake cpanminus cscope gcc-multilib gdb gettext language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip + sudo apt-get install -y autoconf automake build-essential cmake cpanminus gcc-multilib gdb gettext language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip - name: Install minimum required version of cmake if: matrix.cmake == 'minimum_required' diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index b31382af37..d0f04553f2 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -28,7 +28,7 @@ jobs: - name: Install apt packages run: | sudo apt-get update - sudo apt-get install -y autoconf automake build-essential cmake cpanminus cscope gcc-multilib gdb gettext language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip + sudo apt-get install -y autoconf automake build-essential cmake cpanminus gcc-multilib gdb gettext language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip - name: Initialize CodeQL uses: github/codeql-action/init@v2 -- cgit From be43cf16cc677cf50f31cbbf75bc028ce36b8921 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 17 Oct 2022 19:40:54 +0200 Subject: ci: bump ubuntu and macos to latest stable versions (#20479) --- .github/workflows/ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4731e2b32..7ada4f3f9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ concurrency: jobs: lint: if: (github.event_name == 'pull_request' && github.base_ref == 'master') || (github.event_name == 'push' && github.ref == 'refs/heads/master') - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 timeout-minutes: 10 env: CC: gcc @@ -142,7 +142,7 @@ jobs: # of the bundled dependencies. if: (github.event_name == 'pull_request' && github.base_ref == 'master') || (github.event_name == 'push' && github.ref == 'refs/heads/master') - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 timeout-minutes: 10 env: CC: gcc @@ -214,18 +214,18 @@ jobs: include: - flavor: asan cc: clang-13 - runner: ubuntu-20.04 + runner: ubuntu-22.04 os: linux - flavor: tsan cc: clang-13 - runner: ubuntu-20.04 + runner: ubuntu-22.04 os: linux - flavor: uchar cc: gcc - runner: ubuntu-20.04 + runner: ubuntu-22.04 os: linux - cc: clang - runner: macos-11 + runner: macos-12 os: osx # functionaltest-lua is our dumping ground for non-mainline configurations. @@ -236,7 +236,7 @@ jobs: # 3. No treesitter parsers installed. - flavor: functionaltest-lua cc: gcc - runner: ubuntu-20.04 + runner: ubuntu-22.04 os: linux cmake: minimum_required runs-on: ${{ matrix.runner }} -- cgit From 24c9561a68aa9b9cf8d8a503c5e85f63d7ebb543 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Fri, 21 Oct 2022 06:56:09 -0400 Subject: vim-patch: bump VIM_VERSION from 8.0 => 8.1 #20762 There are 6 remaining 8.0.x patches, tracked in: https://github.com/neovim/neovim/issues/5431 --- .github/workflows/vim-patches.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/vim-patches.yml b/.github/workflows/vim-patches.yml index df8c8116b5..c26f8d62e5 100644 --- a/.github/workflows/vim-patches.yml +++ b/.github/workflows/vim-patches.yml @@ -40,7 +40,7 @@ jobs: id: update-version run: | git checkout -b ${VERSION_BRANCH} - nvim -i NONE -u NONE --headless +'luafile scripts/vimpatch.lua' +q + nvim -V1 -es -i NONE +'luafile scripts/vimpatch.lua' +q printf '::set-output name=NEW_PATCHES::%s\n' $([ -z "$(git diff)" ]; echo $?) - name: Automatic PR -- cgit From 1d625a3cf794f49661af3f0d7cdb80c11d35c807 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 29 Oct 2022 19:42:10 +0200 Subject: build: remove python linting #20851 This includes both the `lintpy` make target and for CI. We're actively trying to reduce our python usage, so this only seems to give warnings for unimportant things such as exceeding the line after deleting python code. --- .github/workflows/ci.yml | 5 ----- .github/workflows/codeql-analysis.yml | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ada4f3f9e..08eeb614fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,6 @@ jobs: automake \ build-essential \ cmake \ - flake8 \ gettext \ libluajit-5.1-dev \ libmsgpack-dev \ @@ -106,10 +105,6 @@ jobs: name: lintlua run: make lintlua - - if: "!cancelled()" - name: lintpy - run: make lintpy - - if: "!cancelled()" name: lintsh run: make lintsh diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d0f04553f2..6ba0d43fe0 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'cpp', 'python' ] + language: [ 'cpp' ] steps: - name: Checkout repository -- cgit From 49fbcb5b8239df9d032e01d54c7f50ffea5e7e3f Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 29 Oct 2022 21:11:56 +0200 Subject: ci: use GHA default clang for asan, tsan jobs #20846 Default is currently clang 14. GHA images are updated at least once per year, so we don't need to manually install a newer clang version. Also remove step for installing clang-13 since it's not needed anymore. --- .github/workflows/ci.yml | 12 ++---------- .github/workflows/env.sh | 2 +- 2 files changed, 3 insertions(+), 11 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 08eeb614fc..47d6092b73 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -208,11 +208,11 @@ jobs: matrix: include: - flavor: asan - cc: clang-13 + cc: clang runner: ubuntu-22.04 os: linux - flavor: tsan - cc: clang-13 + cc: clang runner: ubuntu-22.04 os: linux - flavor: uchar @@ -269,14 +269,6 @@ jobs: exit 1 } - - name: Install new clang - if: matrix.flavor == 'asan' || matrix.flavor == 'tsan' - run: | - wget https://apt.llvm.org/llvm.sh - chmod a+x llvm.sh - sudo ./llvm.sh 13 - rm llvm.sh - - name: Install brew packages if: matrix.os == 'osx' run: | diff --git a/.github/workflows/env.sh b/.github/workflows/env.sh index da70d358a9..4b4df39ec0 100755 --- a/.github/workflows/env.sh +++ b/.github/workflows/env.sh @@ -30,7 +30,7 @@ case "$FLAVOR" in BUILD_FLAGS="$BUILD_FLAGS -DPREFER_LUA=ON" cat <> "$GITHUB_ENV" CLANG_SANITIZER=ASAN_UBSAN -SYMBOLIZER=asan_symbolize-13 +SYMBOLIZER=asan_symbolize ASAN_OPTIONS=detect_leaks=1:check_initialization_order=1:log_path=$GITHUB_WORKSPACE/build/log/asan:intercept_tls_get_addr=0 UBSAN_OPTIONS=print_stacktrace=1 log_path=$GITHUB_WORKSPACE/build/log/ubsan EOF -- cgit From cf0f53037cff8bc3d1c0d523b98582e6d47a50df Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 30 Oct 2022 10:06:13 +0100 Subject: ci(windows): build dependencies with Ninja (#20800) This will save around a minute of CI time for each run. Also clean up build.ps1 by removing unnecessary code. --- .github/workflows/ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 47d6092b73..2d8c4046d8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -314,9 +314,8 @@ jobs: runs-on: windows-2019 timeout-minutes: 45 env: - DEPS_BUILD_DIR: ${{ format('{0}/nvim-deps', github.workspace) }} - DEPS_PREFIX: ${{ format('{0}/nvim-deps/usr', github.workspace) }} - CMAKE_BUILD_TYPE: "RelWithDebInfo" + DEPS_BUILD_DIR: ${{ github.workspace }}/nvim-deps + DEPS_PREFIX: ${{ github.workspace }}/nvim-deps/usr name: windows (MSVC_64) steps: - uses: actions/checkout@v3 @@ -324,7 +323,7 @@ jobs: - uses: actions/cache@v3 with: path: ${{ env.DEPS_BUILD_DIR }} - key: ${{ hashFiles('cmake.deps\**') }} + key: windows-${{ hashFiles('cmake.deps/**', 'ci/build.ps1') }} - name: Build deps run: .\ci\build.ps1 -BuildDeps @@ -333,7 +332,6 @@ jobs: run: .\ci\build.ps1 -Build - name: Install test deps - continue-on-error: false run: .\ci\build.ps1 -EnsureTestDeps - if: "!cancelled()" -- cgit From 6e84a46abcc01de11f52cdd3d13cc3ef2ce95e69 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 30 Oct 2022 11:08:59 +0100 Subject: ci(stylua): explicitly set the version to latest (#20869) This will silence the warning about needing to pin the version in the Summary Page. --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2d8c4046d8..c386930073 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -99,6 +99,7 @@ jobs: uses: JohnnyMorganz/stylua-action@v1 with: token: ${{ secrets.GITHUB_TOKEN }} + version: latest args: --check runtime/ - if: "!cancelled()" -- cgit From 0aba1761714661b8576d4676c61c319e76bfac1b Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Fri, 4 Nov 2022 13:26:12 +0100 Subject: ci: skip tests if build fails (#20908) It's currently difficult to pinpoint the cause of a failure since all tests are run even if the build steps fail. But since the build failed the test will almost always fail as well as it's dependent on a successful build, leading to many steps being marked as a failure even though the real problem was the build step. Even worse, the default behavior of GitHub Actions is to only automatically show the last failed step, which is misleading if the build process fails since it'll show the logs of the failing test step. An easy solution would be to abort all subsequent steps if any steps fail. This isn't optimal however, as we want all lint and test failures to show on a single run instead of prematurely aborting on a single test step. We can solve both problems by dividing each job into two phases: the build/installation phase and the test/lint phase, with a checkmark step in between. The strategy is simple: if any step before the checkmark step fails (the build phase), then abort all following steps. If any step after the checkmark fails (the test phase), then show that test as failed but continue running all tests. --- .github/workflows/ci.yml | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c386930073..732e3bb8c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,6 +95,11 @@ jobs: run: ./ci/before_script.sh - if: "!cancelled()" + name: Determine if run should be aborted + id: abort_job + run: echo "status=${{ job.status }}" >> $GITHUB_OUTPUT + + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: lintstylua uses: JohnnyMorganz/stylua-action@v1 with: @@ -102,20 +107,20 @@ jobs: version: latest args: --check runtime/ - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: lintlua run: make lintlua - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: lintsh run: make lintsh - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: uncrustify run: | ${{ env.CACHE_UNCRUSTIFY }} -c ./src/uncrustify.cfg -q --replace --no-backup $(find ./src/nvim -name "*.[ch]") - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: suggester / uncrustify uses: reviewdog/action-suggester@v1 with: @@ -123,7 +128,7 @@ jobs: tool_name: uncrustify cleanup: false - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: check uncrustify run: | git diff --color --exit-code @@ -192,10 +197,15 @@ jobs: run: ./ci/run_tests.sh build_nvim - if: "!cancelled()" + name: Determine if run should be aborted + id: abort_job + run: echo "status=${{ job.status }}" >> $GITHUB_OUTPUT + + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: lintc run: make lintc - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: check-single-includes run: make check-single-includes @@ -292,19 +302,24 @@ jobs: - name: Build run: ./ci/run_tests.sh build_nvim - - if: matrix.flavor != 'tsan' && matrix.flavor != 'functionaltest-lua' && !cancelled() + - if: "!cancelled()" + name: Determine if run should be aborted + id: abort_job + run: echo "status=${{ job.status }}" >> $GITHUB_OUTPUT + + - if: matrix.flavor != 'tsan' && matrix.flavor != 'functionaltest-lua' && (success() || failure() && steps.abort_job.outputs.status == 'success') name: Unittests run: ./ci/run_tests.sh unittests - - if: matrix.flavor != 'tsan' && !cancelled() + - if: matrix.flavor != 'tsan' && (success() || failure() && steps.abort_job.outputs.status == 'success') name: Functionaltests run: ./ci/run_tests.sh functionaltests - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: Oldtests run: ./ci/run_tests.sh oldtests - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: Install nvim run: ./ci/run_tests.sh install_nvim @@ -336,9 +351,15 @@ jobs: run: .\ci\build.ps1 -EnsureTestDeps - if: "!cancelled()" + name: Determine if run should be aborted + id: abort_job + run: | + "status=${{ job.status }}" >> $env:GITHUB_OUTPUT + + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: Run tests run: .\ci\build.ps1 -Test - - if: "!cancelled()" + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: Run old tests run: .\ci\build.ps1 -TestOld -- cgit From 5723b19210b2f3c8f0f20fce541c85b0739c7a3d Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 5 Nov 2022 22:09:50 +0100 Subject: revert: "ci(commitlint): use pull_request_target to avoid "skip ci"" (#20845) This reverts commit d7e2229b41748e84f525ee44cee19be81382ceab. This workflow isn't required to pass to merge a PR any more. Using pull_request_target to bypass the required check when using [skip ci] is therefore no longer needed. --- .github/workflows/commitlint.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index 68be5436f6..a7a227865d 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -1,8 +1,6 @@ name: "Commit Linter" on: - # Only pull_request and push honor [skip ci]. Since this workflow must pass - # to merge a PR, it can't be skipped, so use pull_request_target - pull_request_target: + pull_request: types: [opened, synchronize, reopened, ready_for_review] branches: - 'master' @@ -10,6 +8,8 @@ jobs: lint-commits: runs-on: ubuntu-latest if: github.event.pull_request.draft == false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v3 with: -- cgit From 27ff59fb07ad11cff0be499dba9efa3e9c4eab91 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 5 Nov 2022 22:29:44 +0100 Subject: ci: fix incorrect asan_symbolize name (#20900) --- .github/workflows/env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/env.sh b/.github/workflows/env.sh index 4b4df39ec0..a30bfd546b 100755 --- a/.github/workflows/env.sh +++ b/.github/workflows/env.sh @@ -30,7 +30,7 @@ case "$FLAVOR" in BUILD_FLAGS="$BUILD_FLAGS -DPREFER_LUA=ON" cat <> "$GITHUB_ENV" CLANG_SANITIZER=ASAN_UBSAN -SYMBOLIZER=asan_symbolize +SYMBOLIZER=asan_symbolize-14 ASAN_OPTIONS=detect_leaks=1:check_initialization_order=1:log_path=$GITHUB_WORKSPACE/build/log/asan:intercept_tls_get_addr=0 UBSAN_OPTIONS=print_stacktrace=1 log_path=$GITHUB_WORKSPACE/build/log/ubsan EOF -- cgit From 9a52a8e1ec9de8542510d66a6674742f0dbec27d Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 5 Nov 2022 22:57:11 +0100 Subject: ci: remove ci/build.ps1 (#20891) Main benefit is that this will return the correct exit code by default, meaning the lengthy workarounds to properly fail a test aren't needed. --- .github/workflows/ci.yml | 47 +++++++++++++++++++++++++++++++++++-------- .github/workflows/env.ps1 | 7 +++++++ .github/workflows/release.yml | 10 +++++++-- 3 files changed, 54 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/env.ps1 (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 732e3bb8c1..c4f7f9da36 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -339,16 +339,41 @@ jobs: - uses: actions/cache@v3 with: path: ${{ env.DEPS_BUILD_DIR }} - key: windows-${{ hashFiles('cmake.deps/**', 'ci/build.ps1') }} + key: windows-${{ hashFiles('cmake.deps/**') }} + + - name: Set env + run: ./.github/workflows/env.ps1 - name: Build deps - run: .\ci\build.ps1 -BuildDeps + run: | + cmake -S cmake.deps -B $env:DEPS_BUILD_DIR -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo' + cmake --build $env:DEPS_BUILD_DIR - name: Build nvim - run: .\ci\build.ps1 -Build + run: | + cmake -B build -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo' -DDEPS_PREFIX="$env:DEPS_PREFIX" + cmake --build build - name: Install test deps - run: .\ci\build.ps1 -EnsureTestDeps + run: | + & build\bin\nvim.exe "--version" + + # Ensure that the "win32" feature is set. + & build\bin\nvim -u NONE --headless -c 'exe !has(\"win32\").\"cq\"' + + python -m pip install pynvim + # Sanity check + python -c "import pynvim; print(str(pynvim))" + + gem.cmd install --pre neovim + Get-Command -CommandType Application neovim-ruby-host.bat + + node --version + npm.cmd --version + + npm.cmd install -g neovim + Get-Command -CommandType Application neovim-node-host.cmd + npm.cmd link neovim - if: "!cancelled()" name: Determine if run should be aborted @@ -357,9 +382,15 @@ jobs: "status=${{ job.status }}" >> $env:GITHUB_OUTPUT - if: success() || failure() && steps.abort_job.outputs.status == 'success' - name: Run tests - run: .\ci\build.ps1 -Test + name: Run functionaltests + run: cmake --build build --target functionaltest - if: success() || failure() && steps.abort_job.outputs.status == 'success' - name: Run old tests - run: .\ci\build.ps1 -TestOld + name: Run oldtests + run: | + # Add MSYS to path, required for e.g. `find` used in test scripts. + # But would break functionaltests, where its `more` would be used then. + $OldPath = $env:PATH + $env:PATH = "C:\msys64\usr\bin;$env:PATH" + & "C:\msys64\mingw64\bin\mingw32-make.exe" -C $(Convert-Path src\nvim\testdir) VERBOSE=1 + $env:PATH = $OldPath diff --git a/.github/workflows/env.ps1 b/.github/workflows/env.ps1 new file mode 100644 index 0000000000..8ac267f2f9 --- /dev/null +++ b/.github/workflows/env.ps1 @@ -0,0 +1,7 @@ +$installationPath = vswhere.exe -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath +if ($installationPath -and (Test-Path "$installationPath\Common7\Tools\vsdevcmd.bat")) { + & "${env:COMSPEC}" /s /c "`"$installationPath\Common7\Tools\vsdevcmd.bat`" -arch=x64 -no_logo && set" | ForEach-Object { + $name, $value = $_ -split '=', 2 + "$name=$value" >> $env:GITHUB_ENV + } +} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1444109eae..1c033fc1dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -150,10 +150,16 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Set env + run: ./.github/workflows/env.ps1 - name: Build deps - run: .\ci\build.ps1 -BuildDeps + run: | + cmake -S cmake.deps -B $env:DEPS_BUILD_DIR -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo' + cmake --build $env:DEPS_BUILD_DIR - name: build package - run: .\ci\build.ps1 -Package + run: | + cmake -B build -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo' -DDEPS_PREFIX="$env:DEPS_PREFIX" + cmake --build build --target package - uses: actions/upload-artifact@v3 with: name: nvim-win64 -- cgit From a966347cab652e2e064d7c826457d46cd9079923 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 5 Nov 2022 23:22:39 +0100 Subject: ci: replace deprecated feature set-output (#20834) The new recommended way to share values between Github Actions steps is to use environment files: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter --- .github/workflows/api-docs.yml | 2 +- .github/workflows/release.yml | 7 ++++--- .github/workflows/vim-patches.yml | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml index 83554e2a3d..ca01bf3df0 100644 --- a/.github/workflows/api-docs.yml +++ b/.github/workflows/api-docs.yml @@ -52,7 +52,7 @@ jobs: run: | git checkout -b ${DOC_BRANCH} python3 scripts/gen_vimdoc.py - printf '::set-output name=UPDATED_DOCS::%s\n' $([ -z "$(git diff)" ]; echo $?) + printf 'UPDATED_DOCS=%s\n' $([ -z "$(git diff)" ]; echo $?) >> $GITHUB_OUTPUT - name: FAIL, PR has not committed doc changes if: ${{ steps.docs.outputs.UPDATED_DOCS != 0 && inputs.check_only }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1c033fc1dc..2655281ef7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,8 +36,8 @@ jobs: id: build run: | CC=gcc-10 make CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH=" - printf '::set-output name=version::%s\n' "$(./build/bin/nvim --version | head -n 3 | sed -z 's/\n/%0A/g')" - printf '::set-output name=release::%s\n' "$(./build/bin/nvim --version | head -n 1)" + printf 'version=%s\n' "$(./build/bin/nvim --version | head -n 3 | sed -z 's/\n/%0A/g')" >> $GITHUB_OUTPUT + printf 'release=%s\n' "$(./build/bin/nvim --version | head -n 1)" >> $GITHUB_OUTPUT make DESTDIR="$GITHUB_WORKSPACE/build/release/nvim-linux64" install cd "$GITHUB_WORKSPACE/build/" cpack -C $NVIM_BUILD_TYPE @@ -247,6 +247,7 @@ jobs: if [ "$TAG_NAME" != "nightly" ]; then gh release create stable $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos/* nvim-linux64/* appimage/* nvim-win64/* fi + publish-winget: needs: publish runs-on: windows-latest @@ -265,7 +266,7 @@ jobs: Invoke-WebRequest https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.msi -OutFile setup.msi Install-Module -Name 'Carbon.Windows.Installer' -Force $VERSION = (Get-CMsi (Resolve-Path .\setup.msi).Path).ProductVersion - echo "::set-output name=version::$VERSION" + echo "version=$VERSION" >> $GITHUB_OUTPUT - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') name: Publish nightly uses: vedantmgoyal2009/winget-releaser@v1 diff --git a/.github/workflows/vim-patches.yml b/.github/workflows/vim-patches.yml index c26f8d62e5..7eebcb4a15 100644 --- a/.github/workflows/vim-patches.yml +++ b/.github/workflows/vim-patches.yml @@ -41,7 +41,7 @@ jobs: run: | git checkout -b ${VERSION_BRANCH} nvim -V1 -es -i NONE +'luafile scripts/vimpatch.lua' +q - printf '::set-output name=NEW_PATCHES::%s\n' $([ -z "$(git diff)" ]; echo $?) + printf 'NEW_PATCHES=%s\n' $([ -z "$(git diff)" ]; echo $?) >> $GITHUB_OUTPUT - name: Automatic PR if: ${{ steps.update-version.outputs.NEW_PATCHES != 0 }} -- cgit From 897186f409e6f376e52a5e680d307008ba5be5cd Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 7 Nov 2022 01:42:59 +0100 Subject: ci: request reviewers when PR is reopened #20972 --- .github/workflows/reviews.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/reviews.yml b/.github/workflows/reviews.yml index 34ce19d830..6c8c7ff8ed 100644 --- a/.github/workflows/reviews.yml +++ b/.github/workflows/reviews.yml @@ -1,7 +1,7 @@ name: "Request reviews" on: pull_request_target: - types: [labeled, ready_for_review] + types: [labeled, ready_for_review, reopened] jobs: request-reviewer: if: github.event.pull_request.state == 'open' && github.event.pull_request.draft == false -- cgit From c4f3d41d6b06f3a8b399a36d7f3def8f25a71208 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 7 Nov 2022 02:35:27 +0100 Subject: ci: install only necessary dependencies #20970 --- .github/workflows/ci.yml | 16 ---------------- 1 file changed, 16 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4f7f9da36..53d52ec55a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,6 @@ jobs: - name: Install apt packages run: | - sudo add-apt-repository ppa:neovim-ppa/stable sudo apt-get update sudo apt-get install -y \ autoconf \ @@ -39,23 +38,9 @@ jobs: build-essential \ cmake \ gettext \ - libluajit-5.1-dev \ - libmsgpack-dev \ - libtermkey-dev \ libtool-bin \ - libtree-sitter-dev \ - libunibilium-dev \ - libuv1-dev \ - libvterm-dev \ locales \ - lua-busted \ lua-check \ - lua-filesystem \ - lua-inspect \ - lua-lpeg \ - lua-luv-dev \ - lua-nvim \ - luajit \ ninja-build \ pkg-config @@ -173,7 +158,6 @@ jobs: libvterm-dev \ locales \ lua-busted \ - lua-check \ lua-filesystem \ lua-inspect \ lua-lpeg \ -- cgit From ce198102bda11552397181eab044b10c96645dbd Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 7 Nov 2022 04:05:51 +0100 Subject: ci: add stale bot #20884 Stale strategy is to never automatically stale anything. Only mark stale issues or PRs if they get the `needs:response` label. In that case close after 30 days if there hasn't been any activity. --- .github/workflows/stale.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/stale.yml (limited to '.github/workflows') diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000000..a10f73531d --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,25 @@ +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '30 1 * * *' # Run every day at 01:30 + workflow_dispatch: + +jobs: + stale: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/stale@v6 + with: + days-before-close: 30 + days-before-stale: -1 + stale-issue-label: needs:response + stale-pr-label: needs:response + close-issue-message: "This issue has been closed since a request for + information has not been answered for 30 days. It can be reopened + when the requested information is provided." + close-pr-message: "This PR has been closed since a request for + changes has not been answered for 30 days. It can be reopened when + the requested changes are provided." -- cgit From c404f9b4baf57b946d4dd8d00fce5225e2b5131b Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 16 Nov 2022 23:32:05 +0800 Subject: ci(stale): disable remove-stale-when-updated (#21075) The needs:response label should only be added and removed manually, and the action's behavior of removing the label on any activity (e.g. title change, removing reviewers) is unwanted. --- .github/workflows/stale.yml | 1 + 1 file changed, 1 insertion(+) (limited to '.github/workflows') diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index a10f73531d..345da211cb 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -17,6 +17,7 @@ jobs: days-before-stale: -1 stale-issue-label: needs:response stale-pr-label: needs:response + remove-stale-when-updated: false close-issue-message: "This issue has been closed since a request for information has not been answered for 30 days. It can be reopened when the requested information is provided." -- cgit From 6aa5520763646140482e19f69a5994932bf1d9fd Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Thu, 17 Nov 2022 15:57:59 +0800 Subject: ci(windows): set $PSNativeCommandArgumentPassing = 'Legacy' (#21083) Ref https://github.com/actions/runner-images/issues/6586 Some runners are using new images, while some others are using old image. This is the only way I can find that makes it work on both. --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 53d52ec55a..9c9de055cf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -340,6 +340,8 @@ jobs: - name: Install test deps run: | + $PSNativeCommandArgumentPassing = 'Legacy' + & build\bin\nvim.exe "--version" # Ensure that the "win32" feature is set. -- cgit From 488e99311f70e4a90919c06c37882870e3ba05ac Mon Sep 17 00:00:00 2001 From: Vedant <83997633+vedantmgoyal2009@users.noreply.github.com> Date: Thu, 17 Nov 2022 14:13:45 +0530 Subject: ci(release/winget): correctly set output variable (#21077) --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2655281ef7..113b04ab2b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -266,7 +266,7 @@ jobs: Invoke-WebRequest https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.msi -OutFile setup.msi Install-Module -Name 'Carbon.Windows.Installer' -Force $VERSION = (Get-CMsi (Resolve-Path .\setup.msi).Path).ProductVersion - echo "version=$VERSION" >> $GITHUB_OUTPUT + "version=$VERSION" >> $env:GITHUB_OUTPUT - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') name: Publish nightly uses: vedantmgoyal2009/winget-releaser@v1 -- cgit From adda751407df6d9fcb9f2cf1dade0c713924e20a Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 1 Dec 2022 10:55:34 +0100 Subject: ci: rename workflow files to be simpler and more consistent (#21253) --- .github/workflows/add-reviewers.yml | 18 ++++++++++ .github/workflows/codeql-analysis.yml | 42 ----------------------- .github/workflows/codeql.yml | 42 +++++++++++++++++++++++ .github/workflows/commitlint.yml | 23 ------------- .github/workflows/coverity-scan.yml | 44 ------------------------- .github/workflows/coverity.yml | 44 +++++++++++++++++++++++++ .github/workflows/lintcommit.yml | 23 +++++++++++++ .github/workflows/remove-reviewers-on-draft.yml | 17 ---------- .github/workflows/remove-reviewers.yml | 17 ++++++++++ .github/workflows/reviews.yml | 18 ---------- 10 files changed, 144 insertions(+), 144 deletions(-) create mode 100644 .github/workflows/add-reviewers.yml delete mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 .github/workflows/codeql.yml delete mode 100644 .github/workflows/commitlint.yml delete mode 100644 .github/workflows/coverity-scan.yml create mode 100644 .github/workflows/coverity.yml create mode 100644 .github/workflows/lintcommit.yml delete mode 100644 .github/workflows/remove-reviewers-on-draft.yml create mode 100644 .github/workflows/remove-reviewers.yml delete mode 100644 .github/workflows/reviews.yml (limited to '.github/workflows') diff --git a/.github/workflows/add-reviewers.yml b/.github/workflows/add-reviewers.yml new file mode 100644 index 0000000000..6c8c7ff8ed --- /dev/null +++ b/.github/workflows/add-reviewers.yml @@ -0,0 +1,18 @@ +name: "Request reviews" +on: + pull_request_target: + types: [labeled, ready_for_review, reopened] +jobs: + request-reviewer: + if: github.event.pull_request.state == 'open' && github.event.pull_request.draft == false + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: actions/checkout@v3 + - name: 'Request reviewers' + uses: actions/github-script@v6 + with: + script: | + const script = require('./.github/scripts/reviews.js') + await script({github, context}) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 6ba0d43fe0..0000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: "CodeQL" - -on: - schedule: - - cron: '42 0 * * 0' - workflow_dispatch: -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'cpp' ] - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Setup common environment variables - run: ./.github/workflows/env.sh - - - name: Install apt packages - run: | - sudo apt-get update - sudo apt-get install -y autoconf automake build-essential cmake cpanminus gcc-multilib gdb gettext language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip - - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - - - if: matrix.language == 'cpp' - run: make - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000000..6ba0d43fe0 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,42 @@ +name: "CodeQL" + +on: + schedule: + - cron: '42 0 * * 0' + workflow_dispatch: +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'cpp' ] + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Setup common environment variables + run: ./.github/workflows/env.sh + + - name: Install apt packages + run: | + sudo apt-get update + sudo apt-get install -y autoconf automake build-essential cmake cpanminus gcc-multilib gdb gettext language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + + - if: matrix.language == 'cpp' + run: make + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml deleted file mode 100644 index a7a227865d..0000000000 --- a/.github/workflows/commitlint.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: "Commit Linter" -on: - pull_request: - types: [opened, synchronize, reopened, ready_for_review] - branches: - - 'master' -jobs: - lint-commits: - runs-on: ubuntu-latest - if: github.event.pull_request.draft == false - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - ref: ${{ github.event.pull_request.head.sha }} - path: pr_nvim - - uses: rhysd/action-setup-vim@v1 - with: - neovim: true - - run: wget https://raw.githubusercontent.com/neovim/neovim/master/scripts/lintcommit.lua - - run: nvim --clean -es +"cd pr_nvim" +"lua dofile('../lintcommit.lua').main({trace=true})" diff --git a/.github/workflows/coverity-scan.yml b/.github/workflows/coverity-scan.yml deleted file mode 100644 index ce7822b5c1..0000000000 --- a/.github/workflows/coverity-scan.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Coverity -on: - schedule: - - cron: '10 0 * * *' # Run every day at 00:10 - workflow_dispatch: - -jobs: - scan: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y autoconf automake build-essential cmake gettext libtool-bin locales ninja-build pkg-config unzip - - - name: Download Coverity - run: | - wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=neovim%2Fneovim" -O coverity_tool.tgz - mkdir cov-scan - tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan - env: - TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} - - - name: Build dependencies - run: make deps - - - name: Build/scan neovim - run: | - env PATH=$(pwd)/cov-scan/bin:$PATH cov-build --dir cov-int make - - - name: Submit results - run: | - tar zcf cov-scan.tgz cov-int - curl --form token=$TOKEN \ - --form email=$EMAIL \ - --form file=@cov-scan.tgz \ - --form version="$(git rev-parse HEAD)" \ - --form description="Weekly GHA scan" \ - 'https://scan.coverity.com/builds?project=neovim%2Fneovim' - env: - TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} - EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }} diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml new file mode 100644 index 0000000000..ce7822b5c1 --- /dev/null +++ b/.github/workflows/coverity.yml @@ -0,0 +1,44 @@ +name: Coverity +on: + schedule: + - cron: '10 0 * * *' # Run every day at 00:10 + workflow_dispatch: + +jobs: + scan: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y autoconf automake build-essential cmake gettext libtool-bin locales ninja-build pkg-config unzip + + - name: Download Coverity + run: | + wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=neovim%2Fneovim" -O coverity_tool.tgz + mkdir cov-scan + tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan + env: + TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} + + - name: Build dependencies + run: make deps + + - name: Build/scan neovim + run: | + env PATH=$(pwd)/cov-scan/bin:$PATH cov-build --dir cov-int make + + - name: Submit results + run: | + tar zcf cov-scan.tgz cov-int + curl --form token=$TOKEN \ + --form email=$EMAIL \ + --form file=@cov-scan.tgz \ + --form version="$(git rev-parse HEAD)" \ + --form description="Weekly GHA scan" \ + 'https://scan.coverity.com/builds?project=neovim%2Fneovim' + env: + TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} + EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }} diff --git a/.github/workflows/lintcommit.yml b/.github/workflows/lintcommit.yml new file mode 100644 index 0000000000..a7a227865d --- /dev/null +++ b/.github/workflows/lintcommit.yml @@ -0,0 +1,23 @@ +name: "Commit Linter" +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + branches: + - 'master' +jobs: + lint-commits: + runs-on: ubuntu-latest + if: github.event.pull_request.draft == false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + path: pr_nvim + - uses: rhysd/action-setup-vim@v1 + with: + neovim: true + - run: wget https://raw.githubusercontent.com/neovim/neovim/master/scripts/lintcommit.lua + - run: nvim --clean -es +"cd pr_nvim" +"lua dofile('../lintcommit.lua').main({trace=true})" diff --git a/.github/workflows/remove-reviewers-on-draft.yml b/.github/workflows/remove-reviewers-on-draft.yml deleted file mode 100644 index f707f79737..0000000000 --- a/.github/workflows/remove-reviewers-on-draft.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: "Remove reviewers" -on: - pull_request_target: - types: [converted_to_draft, closed] -jobs: - remove-reviewers: - runs-on: ubuntu-latest - permissions: - pull-requests: write - steps: - - uses: actions/checkout@v3 - - name: 'Remove reviewers' - uses: actions/github-script@v6 - with: - script: | - const script = require('./.github/scripts/remove-reviewers.js') - await script({github, context}) diff --git a/.github/workflows/remove-reviewers.yml b/.github/workflows/remove-reviewers.yml new file mode 100644 index 0000000000..f707f79737 --- /dev/null +++ b/.github/workflows/remove-reviewers.yml @@ -0,0 +1,17 @@ +name: "Remove reviewers" +on: + pull_request_target: + types: [converted_to_draft, closed] +jobs: + remove-reviewers: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: actions/checkout@v3 + - name: 'Remove reviewers' + uses: actions/github-script@v6 + with: + script: | + const script = require('./.github/scripts/remove-reviewers.js') + await script({github, context}) diff --git a/.github/workflows/reviews.yml b/.github/workflows/reviews.yml deleted file mode 100644 index 6c8c7ff8ed..0000000000 --- a/.github/workflows/reviews.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: "Request reviews" -on: - pull_request_target: - types: [labeled, ready_for_review, reopened] -jobs: - request-reviewer: - if: github.event.pull_request.state == 'open' && github.event.pull_request.draft == false - runs-on: ubuntu-latest - permissions: - pull-requests: write - steps: - - uses: actions/checkout@v3 - - name: 'Request reviewers' - uses: actions/github-script@v6 - with: - script: | - const script = require('./.github/scripts/reviews.js') - await script({github, context}) -- cgit From 9d8dbd9846e79c110481847dcd98c94fb2d2d3dd Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 5 Dec 2022 11:57:52 +0100 Subject: ci: use local action to make make cache keys consistent (#20538) The advantages of using an action is that it reduces boilerplate and repetition from the main ci.yml workflow. --- .github/workflows/ci.yml | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9c9de055cf..00ba55d578 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -69,12 +69,7 @@ jobs: mkdir -p $HOME/.cache cp $build_dir/uncrustify ${{ env.CACHE_UNCRUSTIFY }} - - name: Cache artifacts - uses: actions/cache@v3 - with: - path: | - ${{ env.CACHE_NVIM_DEPS_DIR }} - key: lint-${{ hashFiles('cmake/*', '**/CMakeLists.txt', '!cmake.deps/**CMakeLists.txt') }}-${{ github.base_ref }} + - uses: ./.github/actions/cache - name: Build third-party deps run: ./ci/before_script.sh @@ -167,12 +162,7 @@ jobs: ninja-build \ pkg-config - - name: Cache artifacts - uses: actions/cache@v3 - with: - path: | - ${{ env.CACHE_NVIM_DEPS_DIR }} - key: lint-${{ hashFiles('cmake/*', '**/CMakeLists.txt', '!cmake.deps/**CMakeLists.txt') }}-${{ github.base_ref }} + - uses: ./.github/actions/cache - name: Build third-party deps run: ./ci/before_script.sh @@ -273,12 +263,7 @@ jobs: - name: Setup interpreter packages run: ./ci/install.sh - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: | - ${{ env.CACHE_NVIM_DEPS_DIR }} - key: ${{ matrix.runner }}-${{ matrix.flavor }}-${{ matrix.cc }}-${{ hashFiles('cmake/*', 'cmake.deps/**', '**/CMakeLists.txt') }}-${{ github.base_ref }} + - uses: ./.github/actions/cache - name: Build third-party deps run: ./ci/before_script.sh @@ -315,15 +300,13 @@ jobs: timeout-minutes: 45 env: DEPS_BUILD_DIR: ${{ github.workspace }}/nvim-deps + CACHE_NVIM_DEPS_DIR: ${{ github.workspace }}/nvim-deps DEPS_PREFIX: ${{ github.workspace }}/nvim-deps/usr name: windows (MSVC_64) steps: - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: ${{ env.DEPS_BUILD_DIR }} - key: windows-${{ hashFiles('cmake.deps/**') }} + - uses: ./.github/actions/cache - name: Set env run: ./.github/workflows/env.ps1 -- cgit From 5c52971f603d35aa689022eb0a0bc670ab6788e6 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 5 Dec 2022 11:58:13 +0100 Subject: ci: use shell script to deduplicate workflow (#21079) --- .github/workflows/ci.yml | 31 +++++-------------------------- .github/workflows/codeql.yml | 4 +--- 2 files changed, 6 insertions(+), 29 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 00ba55d578..423760fc79 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,18 +31,8 @@ jobs: - name: Install apt packages run: | - sudo apt-get update - sudo apt-get install -y \ - autoconf \ - automake \ - build-essential \ - cmake \ - gettext \ - libtool-bin \ - locales \ - lua-check \ - ninja-build \ - pkg-config + ./.github/scripts/install_deps_ubuntu.sh + sudo apt-get install -y lua-check - name: Cache uncrustify id: cache-uncrustify @@ -136,31 +126,22 @@ jobs: - name: Install apt packages run: | sudo add-apt-repository ppa:neovim-ppa/stable - sudo apt-get update + ./.github/scripts/install_deps_ubuntu.sh sudo apt-get install -y \ - autoconf \ - automake \ - build-essential \ - cmake \ - gettext \ libluajit-5.1-dev \ libmsgpack-dev \ libtermkey-dev \ - libtool-bin \ libtree-sitter-dev \ libunibilium-dev \ libuv1-dev \ libvterm-dev \ - locales \ lua-busted \ lua-filesystem \ lua-inspect \ lua-lpeg \ lua-luv-dev \ lua-nvim \ - luajit \ - ninja-build \ - pkg-config + luajit - uses: ./.github/actions/cache @@ -232,9 +213,7 @@ jobs: - name: Install apt packages if: matrix.os == 'linux' - run: | - sudo apt-get update - sudo apt-get install -y autoconf automake build-essential cmake cpanminus gcc-multilib gdb gettext language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip + run: ./.github/scripts/install_deps_ubuntu.sh - name: Install minimum required version of cmake if: matrix.cmake == 'minimum_required' diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 6ba0d43fe0..a11a87f93a 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -26,9 +26,7 @@ jobs: run: ./.github/workflows/env.sh - name: Install apt packages - run: | - sudo apt-get update - sudo apt-get install -y autoconf automake build-essential cmake cpanminus gcc-multilib gdb gettext language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip + run: ./.github/scripts/install_deps_ubuntu.sh - name: Initialize CodeQL uses: github/codeql-action/init@v2 -- cgit From 6c285a6e49ba39eefff9e4aabd97df1cbe5eeedd Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 5 Dec 2022 11:58:30 +0100 Subject: ci: create CI job to check if news needs to be updated (#21142) If any commit message in the PR is either of type "feat" or is a breaking change, then there's a high probability that news.txt should be updated. Give an error if news.txt hasn't been updated in that case. This workflow cannot 100% correctly determine if news.txt should be updated even if the commit messages were exactly correct. The entries in news.txt is determined by changes between releases, while the commit messages are based on the master branch. While it is an approximation, it is still a useful enough one that it's still valuable to have this job as a reminder even if it gives an error if it shouldn't. In these cases it is perfectly fine to ignore the failure for this job. --- .github/workflows/news.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/news.yml (limited to '.github/workflows') diff --git a/.github/workflows/news.yml b/.github/workflows/news.yml new file mode 100644 index 0000000000..c838c150fe --- /dev/null +++ b/.github/workflows/news.yml @@ -0,0 +1,31 @@ +name: "news.txt check" +on: + pull_request: + branches: + - 'master' +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: ${{ github.event.pull_request.commits }} + - name: news.txt needs to be updated + run: | + for commit in $(git rev-list HEAD); do + message=$(git log -n1 --pretty=format:%s $commit) + type="$(echo "$message" | sed -E 's|([[:alpha:]]+)(\(.*\))?!?:.*|\1|')" + breaking="$(echo "$message" | sed -E 's|[[:alpha:]]+(\(.*\))?!:.*|breaking-change|')" + if [[ "$type" == "feat" ]] || [[ "$breaking" == "breaking-change" ]]; then + git diff HEAD~$((${{ github.event.pull_request.commits }}-1)) --name-only | grep runtime/doc/news.txt || + { + echo " + Pull request includes a new feature or a breaking change, but + news.txt hasn't been updated yet. news.txt is our primary way of + communicating changes to users so it's important to keep it up to + date." + exit 1 + } + fi + done -- cgit From 73ddb6daf98d7adee2dd0dc033723383e38b0ebe Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:38:24 +0100 Subject: ci(news): fetch full history (#21312) We seem to need the parent commit of the earliest PR commit in order to perform common git functionality to check which files were changed. --- .github/workflows/news.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/news.yml b/.github/workflows/news.yml index c838c150fe..8524641b11 100644 --- a/.github/workflows/news.yml +++ b/.github/workflows/news.yml @@ -9,16 +9,15 @@ jobs: steps: - uses: actions/checkout@v3 with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: ${{ github.event.pull_request.commits }} + fetch-depth: 0 - name: news.txt needs to be updated run: | - for commit in $(git rev-list HEAD); do + for commit in $(git rev-list HEAD~${{ github.event.pull_request.commits }}..HEAD); do message=$(git log -n1 --pretty=format:%s $commit) type="$(echo "$message" | sed -E 's|([[:alpha:]]+)(\(.*\))?!?:.*|\1|')" breaking="$(echo "$message" | sed -E 's|[[:alpha:]]+(\(.*\))?!:.*|breaking-change|')" if [[ "$type" == "feat" ]] || [[ "$breaking" == "breaking-change" ]]; then - git diff HEAD~$((${{ github.event.pull_request.commits }}-1)) --name-only | grep runtime/doc/news.txt || + ! git diff HEAD~${{ github.event.pull_request.commits }}..HEAD --quiet runtime/doc/news.txt || { echo " Pull request includes a new feature or a breaking change, but -- cgit From 2ecb401f8b9aac857e6add59f78d481d91a7ad3c Mon Sep 17 00:00:00 2001 From: James McCoy Date: Fri, 9 Dec 2022 09:32:34 -0500 Subject: fix(vim-patches): ensure libfuse is installed --- .github/workflows/vim-patches.yml | 3 +++ 1 file changed, 3 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/vim-patches.yml b/.github/workflows/vim-patches.yml index 7eebcb4a15..159eb09e7c 100644 --- a/.github/workflows/vim-patches.yml +++ b/.github/workflows/vim-patches.yml @@ -2,6 +2,7 @@ name: vim-patches on: schedule: - cron: '3 3 * * *' + workflow_dispatch: jobs: update-vim-patches: @@ -24,6 +25,8 @@ jobs: path: ${{ env.VIM_SOURCE_DIR }} fetch-depth: 0 + - run: sudo apt-get install libfuse2 + - run: | gh release download -R neovim/neovim -p nvim.appimage chmod a+x nvim.appimage -- cgit From b12bb97feeb84df47d672d39b2de170061c37f45 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 12 Dec 2022 01:53:07 +0100 Subject: docs: fix typos (#21328) --- .github/workflows/coverity.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index ce7822b5c1..87e2cb1453 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml @@ -37,7 +37,7 @@ jobs: --form email=$EMAIL \ --form file=@cov-scan.tgz \ --form version="$(git rev-parse HEAD)" \ - --form description="Weekly GHA scan" \ + --form description="Daily GHA scan" \ 'https://scan.coverity.com/builds?project=neovim%2Fneovim' env: TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} -- cgit From ef95174694d705e921ee0271d62badd45f00deaa Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 15 Dec 2022 20:40:30 +0100 Subject: ci: add team reviewers (#21434) Using team reviewers when possible reduces the churn on the git history as we'll be able to add or remove reviewers without needing to change the workflow files. This requires using Github fine-grained personal access tokens with Pull Requests set to "Read and write" and Members to "Read-only". --- .github/workflows/add-reviewers.yml | 1 + .github/workflows/labeler.yml | 1 + .github/workflows/remove-reviewers.yml | 1 + 3 files changed, 3 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/add-reviewers.yml b/.github/workflows/add-reviewers.yml index 6c8c7ff8ed..f1abab5c53 100644 --- a/.github/workflows/add-reviewers.yml +++ b/.github/workflows/add-reviewers.yml @@ -13,6 +13,7 @@ jobs: - name: 'Request reviewers' uses: actions/github-script@v6 with: + github-token: ${{ secrets.TEAM_REVIEW }} script: | const script = require('./.github/scripts/reviews.js') await script({github, context}) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index f85f9d0cda..60689029a3 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -44,6 +44,7 @@ jobs: - name: 'Request reviewers' uses: actions/github-script@v6 with: + github-token: ${{ secrets.TEAM_REVIEW }} script: | const script = require('./.github/scripts/reviews.js') await script({github, context}) diff --git a/.github/workflows/remove-reviewers.yml b/.github/workflows/remove-reviewers.yml index f707f79737..7ab3ef568c 100644 --- a/.github/workflows/remove-reviewers.yml +++ b/.github/workflows/remove-reviewers.yml @@ -12,6 +12,7 @@ jobs: - name: 'Remove reviewers' uses: actions/github-script@v6 with: + github-token: ${{ secrets.TEAM_REVIEW }} script: | const script = require('./.github/scripts/remove-reviewers.js') await script({github, context}) -- cgit From d65684f0c755a9341412423543b65ec872196440 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 17 Dec 2022 13:32:20 +0100 Subject: ci: bump stylua action to v2 (#21455) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 423760fc79..2af9bc49d8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,7 +71,7 @@ jobs: - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: lintstylua - uses: JohnnyMorganz/stylua-action@v1 + uses: JohnnyMorganz/stylua-action@v2 with: token: ${{ secrets.GITHUB_TOKEN }} version: latest -- cgit From 5d5fa886fff58bc4246501fbaaf7f63a72c0f0fe Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Wed, 21 Dec 2022 16:54:46 +0100 Subject: ci: bump stale action version (#21490) --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 345da211cb..40f6616110 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@v6 + - uses: actions/stale@v7 with: days-before-close: 30 days-before-stale: -1 -- cgit From b1ca49a002b926eab5dd0160d9c45e0ef0df9d08 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Wed, 21 Dec 2022 23:47:43 +0100 Subject: ci: don't use asan_symbolize for the ASAN job asan_symbolize-14 gives a deprecation as it relies on outdated python features. We can safely stop using asan_symbolize as it's only needed for special cases such as cross compilation which we don't have to worry about. --- .github/workflows/env.sh | 1 - 1 file changed, 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/env.sh b/.github/workflows/env.sh index a30bfd546b..4a2217de89 100755 --- a/.github/workflows/env.sh +++ b/.github/workflows/env.sh @@ -30,7 +30,6 @@ case "$FLAVOR" in BUILD_FLAGS="$BUILD_FLAGS -DPREFER_LUA=ON" cat <> "$GITHUB_ENV" CLANG_SANITIZER=ASAN_UBSAN -SYMBOLIZER=asan_symbolize-14 ASAN_OPTIONS=detect_leaks=1:check_initialization_order=1:log_path=$GITHUB_WORKSPACE/build/log/asan:intercept_tls_get_addr=0 UBSAN_OPTIONS=print_stacktrace=1 log_path=$GITHUB_WORKSPACE/build/log/ubsan EOF -- cgit From fa6ab489261c4a22dfff3bcf759597d271765f03 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 22 Dec 2022 13:18:17 +0100 Subject: ci: bump api-docs runner to ubuntu-latest (#21501) This was set explicitly to ubuntu.22.04 as ubuntu-latest pointed to ubuntu.20.04, and we needed 22.04 to have a new enough doxygen version for this job to work. Now that ubuntu-latest points to 22.04 this workaround is no longer needed. --- .github/workflows/api-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml index ca01bf3df0..8f5b8ce8e8 100644 --- a/.github/workflows/api-docs.yml +++ b/.github/workflows/api-docs.yml @@ -21,7 +21,7 @@ on: jobs: regen-api-docs: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest permissions: contents: write pull-requests: write -- cgit From 788eb654941efe1f725143d7e1bc9b5236ecbb37 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Fri, 23 Dec 2022 12:54:30 +0100 Subject: ci: remove needs:response label if author responds (#21489) ci: remove "needs:response" label if author responds The default behavior of the stale action is to indiscriminately remove the `needs:response` label for any activity whatsoever, from anyone. The other option is to turn it off completely, meaning the maintainers needs to manually remove the label themselves when the author responds for an issue to not close automatically. Neither of these behaviors are useful to us. --- .github/workflows/stale.yml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 40f6616110..c1d3ee3ff3 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -3,9 +3,11 @@ on: schedule: - cron: '30 1 * * *' # Run every day at 01:30 workflow_dispatch: + issue_comment: jobs: - stale: + close: + if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest permissions: issues: write @@ -24,3 +26,17 @@ jobs: close-pr-message: "This PR has been closed since a request for changes has not been answered for 30 days. It can be reopened when the requested changes are provided." + + remove-label: + if: github.event_name == 'issue_comment' + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/checkout@v3 + - uses: actions/github-script@v6 + with: + script: | + const script = require('./.github/scripts/unstale.js') + await script({github, context}) -- cgit From 2732759bffc478f258de448cdad53b3dd27553d8 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 28 Dec 2022 19:48:19 +0800 Subject: ci(release): properly set multiline output variable (#21560) --- .github/workflows/release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 113b04ab2b..1df33962e5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,9 @@ jobs: id: build run: | CC=gcc-10 make CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH=" - printf 'version=%s\n' "$(./build/bin/nvim --version | head -n 3 | sed -z 's/\n/%0A/g')" >> $GITHUB_OUTPUT + printf 'version<> $GITHUB_OUTPUT + ./build/bin/nvim --version | head -n 3 >> $GITHUB_OUTPUT + printf 'END\n' >> $GITHUB_OUTPUT printf 'release=%s\n' "$(./build/bin/nvim --version | head -n 1)" >> $GITHUB_OUTPUT make DESTDIR="$GITHUB_WORKSPACE/build/release/nvim-linux64" install cd "$GITHUB_WORKSPACE/build/" -- cgit From 7c94bcd2d77e2e54b8836ab8325460a367b79eae Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Mon, 20 Sep 2021 19:00:50 -0700 Subject: feat(lua)!: execute Lua with "nvim -l" Problem: Nvim has Lua but the "nvim" CLI can't easily be used to execute Lua scripts, especially scripts that take arguments or produce output. Solution: - support "nvim -l [args...]" for running scripts. closes #15749 - exit without +q - remove lua2dox_filter - remove Doxyfile. This wasn't used anyway, because the doxygen config is inlined in gen_vimdoc.py (`Doxyfile` variable). - use "nvim -l" in docs-gen CI job Examples: $ nvim -l scripts/lua2dox.lua --help Lua2DoX (0.2 20130128) ... $ echo "print(vim.inspect(_G.arg))" | nvim -l - --arg1 --arg2 $ echo 'print(vim.inspect(vim.api.nvim_buf_get_text(1,0,0,-1,-1,{})))' | nvim +"put ='text'" -l - TODO? -e executes Lua code -l loads a module -i enters REPL _after running the other arguments_. --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2af9bc49d8..6e727448b9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -205,6 +205,8 @@ jobs: env: CC: ${{ matrix.cc }} CI_OS_NAME: ${{ matrix.os }} + # TEST_FILE: test/functional/core/startup_spec.lua + # TEST_FILTER: foo steps: - uses: actions/checkout@v3 @@ -281,6 +283,8 @@ jobs: DEPS_BUILD_DIR: ${{ github.workspace }}/nvim-deps CACHE_NVIM_DEPS_DIR: ${{ github.workspace }}/nvim-deps DEPS_PREFIX: ${{ github.workspace }}/nvim-deps/usr + # TEST_FILE: test/functional/core/startup_spec.lua + # TEST_FILTER: foo name: windows (MSVC_64) steps: - uses: actions/checkout@v3 -- cgit From 599e1d019aa010d4e3c56e6bad3d1c406dda5b0f Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sun, 1 Jan 2023 17:39:38 +0100 Subject: ci: use nvim -l in api-docs job --- .github/workflows/api-docs.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml index 8f5b8ce8e8..fa8a7dbca0 100644 --- a/.github/workflows/api-docs.yml +++ b/.github/workflows/api-docs.yml @@ -28,6 +28,10 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: + - uses: rhysd/action-setup-vim@v1 + with: + neovim: true + version: nightly - uses: actions/checkout@v3 with: # Fetch depth 0 is required if called through workflow_call. In order @@ -38,7 +42,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo env DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen python3 python3-msgpack luajit + sudo env DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen python3 python3-msgpack - name: Setup git config run: | -- cgit From d89290b453fc29fa288bca0a9e69fd219931ab1c Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 7 Jan 2023 16:51:52 +0100 Subject: ci(news): checkout to HEAD commit instead of merge commit (#21679) The default merge branch is unreliable when trying to determine number of commits in a PR. Using the HEAD branch of the PR removes this ambiguity. --- .github/workflows/news.yml | 1 + 1 file changed, 1 insertion(+) (limited to '.github/workflows') diff --git a/.github/workflows/news.yml b/.github/workflows/news.yml index 8524641b11..46ac0ec02d 100644 --- a/.github/workflows/news.yml +++ b/.github/workflows/news.yml @@ -10,6 +10,7 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} - name: news.txt needs to be updated run: | for commit in $(git rev-list HEAD~${{ github.event.pull_request.commits }}..HEAD); do -- cgit From 3d49d39cd8a322b201d0b72ff5372f871e1b93d2 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 11 Jan 2023 21:36:26 +0800 Subject: ci(tsan): run functionaltests instead of oldtests (#21744) With TUI as an external process oldtests no longer involve threads, so TSAN isn't useful. Meanwhile functionaltests may involve threads. --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6e727448b9..48338527f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -261,11 +261,11 @@ jobs: name: Unittests run: ./ci/run_tests.sh unittests - - if: matrix.flavor != 'tsan' && (success() || failure() && steps.abort_job.outputs.status == 'success') + - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: Functionaltests run: ./ci/run_tests.sh functionaltests - - if: success() || failure() && steps.abort_job.outputs.status == 'success' + - if: matrix.flavor != 'tsan' && (success() || failure() && steps.abort_job.outputs.status == 'success') name: Oldtests run: ./ci/run_tests.sh oldtests -- cgit From 909abfbd877f9231716ff3a2ea0532cf43a737f3 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 15 Jan 2023 12:25:28 +0100 Subject: ci: deduplicate TEST_FILE environment variable (#21667) --- .github/workflows/ci.yml | 9 +++++---- .github/workflows/env.sh | 1 - 2 files changed, 5 insertions(+), 5 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48338527f4..7699233ea3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,11 @@ concurrency: group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} cancel-in-progress: true +env: + UNCRUSTIFY_VERSION: uncrustify-0.75.0 + # TEST_FILE: test/functional/core/startup_spec.lua + # TEST_FILTER: foo + jobs: lint: if: (github.event_name == 'pull_request' && github.base_ref == 'master') || (github.event_name == 'push' && github.ref == 'refs/heads/master') @@ -205,8 +210,6 @@ jobs: env: CC: ${{ matrix.cc }} CI_OS_NAME: ${{ matrix.os }} - # TEST_FILE: test/functional/core/startup_spec.lua - # TEST_FILTER: foo steps: - uses: actions/checkout@v3 @@ -283,8 +286,6 @@ jobs: DEPS_BUILD_DIR: ${{ github.workspace }}/nvim-deps CACHE_NVIM_DEPS_DIR: ${{ github.workspace }}/nvim-deps DEPS_PREFIX: ${{ github.workspace }}/nvim-deps/usr - # TEST_FILE: test/functional/core/startup_spec.lua - # TEST_FILTER: foo name: windows (MSVC_64) steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/env.sh b/.github/workflows/env.sh index 4a2217de89..d93552fed3 100755 --- a/.github/workflows/env.sh +++ b/.github/workflows/env.sh @@ -18,7 +18,6 @@ VALGRIND_LOG=$GITHUB_WORKSPACE/build/log/valgrind-%p.log CACHE_NVIM_DEPS_DIR=$HOME/.cache/nvim-deps CACHE_MARKER=$HOME/.cache/nvim-deps/.ci_cache_marker CACHE_UNCRUSTIFY=$HOME/.cache/uncrustify -UNCRUSTIFY_VERSION=uncrustify-0.75.0 EOF DEPS_CMAKE_FLAGS= -- cgit From 6383e454abf64d266e0fbf8df019f4e8138fad09 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 16 Jan 2023 11:11:48 +0100 Subject: ci: run each linter once (#21825) Running "make lintlua" will run both stylua and luacheck if both exist. But this is not necessary as we already lint with stylua with the stylua-action, so we only need to lint with luacheck on our own. --- .github/workflows/ci.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7699233ea3..399ac24ecc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,8 +83,10 @@ jobs: args: --check runtime/ - if: success() || failure() && steps.abort_job.outputs.status == 'success' - name: lintlua - run: make lintlua + name: luacheck + run: | + cmake -B $BUILD_DIR -G Ninja + cmake --build $BUILD_DIR --target lintlua-luacheck - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: lintsh @@ -162,8 +164,8 @@ jobs: run: echo "status=${{ job.status }}" >> $GITHUB_OUTPUT - if: success() || failure() && steps.abort_job.outputs.status == 'success' - name: lintc - run: make lintc + name: clint.py + run: cmake --build build --target lintc-clint - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: check-single-includes -- cgit From 42d5142367c375be5cbdfbf11d150a5ebe8c30d6 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Wed, 18 Jan 2023 20:23:46 +0100 Subject: ci: enable CI_BUILD on windows (#21557) This will ensure warnings are treated as errors when using MSVC. Also fix const correctness warnings. The warnings in mbyte.c are false positives that triggers this warning on MSVC v19.32 and lower, which our CI still use. The (void *) casts can be removed once the CI MSVC version has been upgraded to v19.33 or higher. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 399ac24ecc..b158d966e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -304,7 +304,7 @@ jobs: - name: Build nvim run: | - cmake -B build -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo' -DDEPS_PREFIX="$env:DEPS_PREFIX" + cmake -B build -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo' -DDEPS_PREFIX="$env:DEPS_PREFIX" -DCI_BUILD=ON cmake --build build - name: Install test deps -- cgit