aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-03-09 14:57:57 -0700
committerJosh Rahm <joshuarahm@gmail.com>2024-03-09 14:57:57 -0700
commitc324271b99eee4c621463f368914d57cd729bd9c (patch)
tree5d979d333a2d5f9c080991d5482fd5916f8579c6 /.github/workflows
parent931bffbda3668ddc609fc1da8f9eb576b170aa52 (diff)
parentade1b12f49c3b3914c74847d791eb90ea90b56b7 (diff)
downloadrneovim-c324271b99eee4c621463f368914d57cd729bd9c.tar.gz
rneovim-c324271b99eee4c621463f368914d57cd729bd9c.tar.bz2
rneovim-c324271b99eee4c621463f368914d57cd729bd9c.zip
Merge remote-tracking branch 'upstream/master' into userreg
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/backport.yml8
-rw-r--r--.github/workflows/build.yml18
-rw-r--r--.github/workflows/codeql.yml15
-rw-r--r--.github/workflows/coverity.yml6
-rw-r--r--.github/workflows/docs.yml (renamed from .github/workflows/api-docs.yml)17
-rw-r--r--.github/workflows/labeler_issue.yml (renamed from .github/workflows/issue-open-check.yml)9
-rw-r--r--.github/workflows/labeler_pr.yml (renamed from .github/workflows/labeler.yml)15
-rw-r--r--.github/workflows/lintcommit.yml6
-rw-r--r--.github/workflows/news.yml6
-rw-r--r--.github/workflows/notes.md2
-rw-r--r--.github/workflows/optional.yml23
-rw-r--r--.github/workflows/release.yml63
-rw-r--r--.github/workflows/reviewers_add.yml (renamed from .github/workflows/add-reviewers.yml)4
-rw-r--r--.github/workflows/reviewers_remove.yml (renamed from .github/workflows/remove-reviewers.yml)4
-rw-r--r--.github/workflows/test.yml48
-rw-r--r--.github/workflows/vim_patches.yml (renamed from .github/workflows/vim-patches.yml)0
16 files changed, 103 insertions, 141 deletions
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index 321cd02b0c..88cddcded4 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -1,4 +1,4 @@
-name: Backport
+name: backport
on:
pull_request_target:
types: [closed, labeled]
@@ -14,3 +14,9 @@ jobs:
- uses: actions/checkout@v4
- name: Create backport PRs
uses: korthout/backport-action@v2
+ with:
+ # https://github.com/korthout/backport-action/pull/399
+ experimental: >
+ {
+ "detect_merge_method": true
+ }
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d6e11fcdcb..13fa692be1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -21,12 +21,12 @@ env:
jobs:
macos-universal:
- runs-on: macos-latest
+ runs-on: macos-14
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- - run: ./.github/scripts/install_deps.sh
- - run: printf 'NVIM_BUILD_TYPE=Release\n' >> $GITHUB_ENV
+ - uses: ./.github/actions/setup
+ - run: printf 'CMAKE_BUILD_TYPE=Release\n' >> $GITHUB_ENV
- name: Build universal binary
run: ./.github/scripts/build_universal_macos.sh
@@ -36,15 +36,11 @@ jobs:
runs-on: ubuntu-22.04
timeout-minutes: 15
env:
- CMAKE_URL: 'https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.sh'
- CMAKE_VERSION: '3.10.0'
+ CMAKE_URL: 'https://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.sh'
+ CMAKE_VERSION: '3.13.0'
steps:
- uses: actions/checkout@v4
- - run: ./.github/scripts/install_deps.sh
-
- - name: Set up environment
- run: echo "$BIN_DIR" >> $GITHUB_PATH
-
+ - uses: ./.github/actions/setup
- name: Install minimum required version of cmake
run: |
@@ -73,7 +69,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- - run: ./.github/scripts/install_deps.sh
+ - uses: ./.github/actions/setup
- name: Build bundled dependencies
run: make deps
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 365c3fdf56..c2db78dd25 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -1,4 +1,4 @@
-name: "CodeQL"
+name: "codeql"
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
@@ -20,20 +20,15 @@ jobs:
security-events: write
steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Install dependencies
- run: ./.github/scripts/install_deps.sh
+ - uses: actions/checkout@v4
+ - uses: ./.github/actions/setup
- name: Initialize CodeQL
- uses: github/codeql-action/init@v2
+ uses: github/codeql-action/init@v3
with:
languages: cpp
- - uses: ./.github/actions/cache
-
- run: make
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
+ uses: github/codeql-action/analyze@v3
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
index 3eed1e51df..db0f878de4 100644
--- a/.github/workflows/coverity.yml
+++ b/.github/workflows/coverity.yml
@@ -1,4 +1,4 @@
-name: Coverity
+name: coverity
on:
schedule:
- cron: '10 0 * * *' # Run every day at 00:10
@@ -9,9 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
-
- - name: Install dependencies
- run: ./.github/scripts/install_deps.sh
+ - uses: ./.github/actions/setup
- name: Download Coverity
run: |
diff --git a/.github/workflows/api-docs.yml b/.github/workflows/docs.yml
index 6f8fe107d2..c91f2945fb 100644
--- a/.github/workflows/api-docs.yml
+++ b/.github/workflows/docs.yml
@@ -1,5 +1,4 @@
-# Check if any PR needs to run the autogenerate script
-name: Autogenerate API docs and types
+name: docs
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
@@ -8,9 +7,10 @@ on:
- 'src/nvim/eval.lua'
- 'runtime/lua/**.lua'
- 'runtime/doc/**'
-
+ - 'scripts/gen_vimdoc.py'
+ - 'scripts/gen_help_html.lua'
jobs:
- regen-api-docs-and-types:
+ docs:
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
permissions:
@@ -18,11 +18,7 @@ jobs:
pull-requests: write
steps:
- uses: actions/checkout@v4
- - name: Install dependencies
- run: |
- ./.github/scripts/install_deps.sh
- sudo apt-get install -y doxygen python3-msgpack
- - uses: ./.github/actions/cache
+ - uses: ./.github/actions/setup
- name: Generate docs
run: |
@@ -32,3 +28,6 @@ jobs:
echo "::error::The doc generation produces the following changes:"
git diff --color --exit-code
fi
+
+ - name: Validate docs
+ run: make lintdoc
diff --git a/.github/workflows/issue-open-check.yml b/.github/workflows/labeler_issue.yml
index eac1c2ee4d..deba3cd5a5 100644
--- a/.github/workflows/issue-open-check.yml
+++ b/.github/workflows/labeler_issue.yml
@@ -1,22 +1,19 @@
-name: Issue Open Check
-
+name: "labeler: issue"
on:
issues:
types: [opened]
-
jobs:
- issue-open-check:
+ labeler:
permissions:
issues: write
runs-on: ubuntu-latest
steps:
- name: check issue title
- id: check-issue
uses: actions/github-script@v7
with:
script: |
const title = context.payload.issue.title;
- const titleSplit = title.split(/\s+/).map(e => e.toLowerCase());
+ const titleSplit = title.split(/\b/).map(e => e.toLowerCase());
const keywords = ['api', 'treesitter', 'ui', 'lsp'];
var match = new Set();
for (const keyword of keywords) {
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler_pr.yml
index 52682d93dd..8fd93bfb6d 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler_pr.yml
@@ -1,20 +1,21 @@
-name: "Pull Request Labeler"
+name: "labeler: PR"
on:
pull_request_target:
types: [opened]
jobs:
- triage:
+ changed-files:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- - uses: actions/labeler@v4
+ - uses: actions/checkout@v4
+ - uses: actions/labeler@v5
with:
- sync-labels: ""
+ configuration-path: .github/scripts/labeler_configuration.yml
type-scope:
- needs: triage
+ needs: changed-files
runs-on: ubuntu-latest
permissions:
contents: write
@@ -33,7 +34,7 @@ jobs:
run: gh pr edit "$PR_NUMBER" --add-label "$(echo "$PR_TITLE" | sed -E 's|[[:alpha:]]+(\(.*\))?!:.*|breaking-change|')" || true
request-reviewer:
- needs: ["triage", "type-scope"]
+ needs: ["changed-files", "type-scope"]
permissions:
pull-requests: write
- uses: ./.github/workflows/add-reviewers.yml
+ uses: ./.github/workflows/reviewers_add.yml
diff --git a/.github/workflows/lintcommit.yml b/.github/workflows/lintcommit.yml
index 8f56c057ae..3d140532cd 100644
--- a/.github/workflows/lintcommit.yml
+++ b/.github/workflows/lintcommit.yml
@@ -1,4 +1,4 @@
-name: "Commit Linter"
+name: "lintcommit"
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
@@ -14,8 +14,8 @@ jobs:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- - run: ./.github/scripts/install_deps.sh
- - uses: ./.github/actions/cache
+ - uses: ./.github/actions/setup
+
- name: Build
run: |
cmake -S cmake.deps --preset ci
diff --git a/.github/workflows/news.yml b/.github/workflows/news.yml
index d4f8e5ad65..8d21b86e8e 100644
--- a/.github/workflows/news.yml
+++ b/.github/workflows/news.yml
@@ -1,13 +1,13 @@
-name: "news.txt check"
+name: "news.txt"
on:
pull_request:
- types: [opened, synchronize, reopened, ready_for_review]
+ types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
branches:
- 'master'
jobs:
check:
runs-on: ubuntu-latest
- if: github.event.pull_request.draft == false
+ if: github.event.pull_request.draft == false && !contains(github.event.pull_request.labels.*.name, 'ci:skip-news')
steps:
- uses: actions/checkout@v4
with:
diff --git a/.github/workflows/notes.md b/.github/workflows/notes.md
index 8c518b0bdb..294d92ebb5 100644
--- a/.github/workflows/notes.md
+++ b/.github/workflows/notes.md
@@ -48,7 +48,7 @@ https://github.com/neovim/neovim-releases.
### Other
-- Install by [package manager](https://github.com/neovim/neovim/wiki/Installing-Neovim)
+- Install by [package manager](https://github.com/neovim/neovim/blob/master/INSTALL.md#install-from-package)
## SHA256 Checksums
diff --git a/.github/workflows/optional.yml b/.github/workflows/optional.yml
index ebaf23d29b..c9a8205f87 100644
--- a/.github/workflows/optional.yml
+++ b/.github/workflows/optional.yml
@@ -2,6 +2,7 @@ name: optional
on:
pull_request:
types: [labeled, opened, synchronize, reopened]
+ workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
@@ -9,12 +10,14 @@ concurrency:
env:
INSTALL_PREFIX: ${{ github.workspace }}/nvim-install
+ # Double test timeout since it's running via qemu
+ TEST_TIMEOUT: 2400
# TEST_FILE: test/functional/shada
# TEST_FILTER: foo
jobs:
s390x:
- if: contains(github.event.pull_request.labels.*.name, 'ci-s390x')
+ if: contains(github.event.pull_request.labels.*.name, 'ci:s390x') || github.event_name == 'workflow_dispatch'
strategy:
fail-fast: false
matrix:
@@ -25,17 +28,21 @@ jobs:
- run: docker run --rm --privileged multiarch/qemu-user-static:register --reset
- uses: docker://multiarch/ubuntu-core:s390x-focal
with:
+ # Docker runs the command as root, but we want the build/test to run
+ # as non-root so permissions based tests run correctly
args: >
bash -c
"
apt-get -y update &&
DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential cmake curl gettext ninja-build locales-all cpanminus git attr libattr1-dev &&
- git clone --depth=1 https://github.com/neovim/neovim.git &&
+ useradd --create-home qemuci &&
+ chown -R qemuci. . &&
+ runuser -u qemuci -- git clone --depth=1 https://github.com/neovim/neovim.git &&
cd neovim &&
- git fetch origin ${{ github.ref }}:pr &&
- git switch pr &&
- cmake -S cmake.deps -B .deps -G Ninja -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON &&
- cmake --build .deps &&
- cmake -B build -G Ninja -D PREFER_LUA=ON &&
- make ${{ matrix.test }}
+ runuser -u qemuci -- git fetch origin ${{ github.ref }}:pr &&
+ runuser -u qemuci -- git switch pr &&
+ runuser -u qemuci -- cmake -S cmake.deps -B .deps -G Ninja -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON &&
+ runuser -u qemuci -- cmake --build .deps &&
+ runuser -u qemuci -- cmake -B build -G Ninja -D CI_BUILD=ON -D PREFER_LUA=ON &&
+ runuser -u qemuci -- make ${{ matrix.test }}
"
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index b19019d06d..48a3901955 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,4 +1,4 @@
-name: Release
+name: release
on:
schedule:
- cron: '5 5 * * *'
@@ -23,27 +23,30 @@ jobs:
version: ${{ steps.build.outputs.version }}
steps:
- uses: actions/checkout@v4
+ with:
+ # Perform a full checkout #13471
+ fetch-depth: 0
- run: ./.github/scripts/install_deps.sh
- if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly')
run: |
- echo 'NVIM_BUILD_TYPE=Release' >> $GITHUB_ENV
+ echo 'CMAKE_BUILD_TYPE=Release' >> $GITHUB_ENV
echo 'APPIMAGE_TAG=latest' >> $GITHUB_ENV
- if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly')
run: |
- echo 'NVIM_BUILD_TYPE=RelWithDebInfo' >> $GITHUB_ENV
+ echo 'CMAKE_BUILD_TYPE=RelWithDebInfo' >> $GITHUB_ENV
echo 'APPIMAGE_TAG=nightly' >> $GITHUB_ENV
- name: appimage
run: ./scripts/genappimage.sh ${APPIMAGE_TAG}
- name: tar.gz
run: cpack --config build/CPackConfig.cmake -G TGZ
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: appimage
path: |
build/bin/nvim.appimage
build/bin/nvim.appimage.zsync
retention-days: 1
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: nvim-linux64
path: |
@@ -57,18 +60,21 @@ jobs:
printf 'END\n' >> $GITHUB_OUTPUT
macOS:
- runs-on: macos-11
+ runs-on: macos-14
steps:
- uses: actions/checkout@v4
+ with:
+ # Perform a full checkout #13471
+ fetch-depth: 0
- name: Install dependencies
run: ./.github/scripts/install_deps.sh
- if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly')
- run: printf 'NVIM_BUILD_TYPE=Release\n' >> $GITHUB_ENV
+ run: printf 'CMAKE_BUILD_TYPE=Release\n' >> $GITHUB_ENV
- if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly')
- run: printf 'NVIM_BUILD_TYPE=RelWithDebInfo\n' >> $GITHUB_ENV
+ run: printf 'CMAKE_BUILD_TYPE=RelWithDebInfo\n' >> $GITHUB_ENV
- name: Build universal binary
run: ./.github/scripts/build_universal_macos.sh
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: nvim-macos
path: build/nvim-macos.tar.gz
@@ -79,6 +85,9 @@ jobs:
name: windows (MSVC_64)
steps:
- uses: actions/checkout@v4
+ with:
+ # Perform a full checkout #13471
+ fetch-depth: 0
- run: .github/scripts/env.ps1
- name: Build deps
run: |
@@ -88,7 +97,7 @@ jobs:
run: |
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE='RelWithDebInfo'
cmake --build build --target package
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: nvim-win64
path: |
@@ -109,7 +118,7 @@ jobs:
# before running, and would therefore delete the downloaded artifacts
- uses: actions/checkout@v4
- - uses: actions/download-artifact@v3
+ - uses: actions/download-artifact@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y gettext-base
@@ -169,37 +178,7 @@ jobs:
DEBUG: api
run: |
envsubst < "$GITHUB_WORKSPACE/.github/workflows/notes.md" > "$RUNNER_TEMP/notes.md"
- gh release create $TAG_NAME $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos/* nvim-linux64/* appimage/* nvim-win64/*
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
- steps:
- - if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly')
- name: Publish stable
- uses: vedantmgoyal2009/winget-releaser@v2
- with:
- identifier: Neovim.Neovim
- release-tag: ${{ github.event.inputs.tag_name || github.ref_name }}
- token: ${{ secrets.WINGET_TOKEN }}
- - name: Fetch nightly build msi from previous job
- if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly')
- uses: actions/download-artifact@v3
- - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly')
- name: Get version from nightly build msi
- id: get-version
- run: |
- Install-Module -Name 'Carbon.Windows.Installer' -Force
- $VERSION = (Get-CMsi (Resolve-Path .\nvim-win64\nvim-win64.msi).Path).ProductVersion
- "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@v2
- with:
- identifier: Neovim.Neovim.Nightly
- version: ${{ steps.get-version.outputs.version }}
- release-tag: nightly
- token: ${{ secrets.WINGET_TOKEN }}
+ gh release create $TAG_NAME $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos/* nvim-linux64/* appimage/* nvim-win64/*
diff --git a/.github/workflows/add-reviewers.yml b/.github/workflows/reviewers_add.yml
index 22c68b6ef7..b116bca29b 100644
--- a/.github/workflows/add-reviewers.yml
+++ b/.github/workflows/reviewers_add.yml
@@ -1,4 +1,4 @@
-name: "Request reviews"
+name: "reviewers: add"
on:
pull_request_target:
types: [labeled, ready_for_review, reopened]
@@ -15,5 +15,5 @@ jobs:
uses: actions/github-script@v7
with:
script: |
- const script = require('./.github/scripts/reviews.js')
+ const script = require('./.github/scripts/reviewers_add.js')
await script({github, context})
diff --git a/.github/workflows/remove-reviewers.yml b/.github/workflows/reviewers_remove.yml
index 3fe7493b93..b10d8c3d23 100644
--- a/.github/workflows/remove-reviewers.yml
+++ b/.github/workflows/reviewers_remove.yml
@@ -1,4 +1,4 @@
-name: "Remove reviewers"
+name: "reviewers: remove"
on:
pull_request_target:
types: [converted_to_draft, closed]
@@ -13,5 +13,5 @@ jobs:
uses: actions/github-script@v7
with:
script: |
- const script = require('./.github/scripts/remove-reviewers.js')
+ const script = require('./.github/scripts/reviewers_remove.js')
await script({github, context})
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index acf0f195b9..6bd40b8561 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -35,15 +35,12 @@ jobs:
CC: clang
steps:
- uses: actions/checkout@v4
- - run: ./.github/scripts/install_deps.sh
- - uses: ./.github/actions/cache
+ - uses: ./.github/actions/setup
- name: Install stylua
run: |
- URL=$(curl -L https://api.github.com/repos/JohnnyMorganz/StyLua/releases/latest | jq -r '.assets[] | select(.name == "stylua-linux-x86_64.zip") | .browser_download_url')
- wget --directory-prefix="$BIN_DIR" "$URL"
+ wget --directory-prefix="$BIN_DIR" https://github.com/JohnnyMorganz/StyLua/releases/latest/download/stylua-linux-x86_64.zip
(cd "$BIN_DIR"; unzip stylua*.zip)
- echo "$BIN_DIR" >> $GITHUB_PATH
- name: Build third-party deps
run: |
@@ -88,8 +85,7 @@ jobs:
CC: clang
steps:
- uses: actions/checkout@v4
- - run: ./.github/scripts/install_deps.sh
- - uses: ./.github/actions/cache
+ - uses: ./.github/actions/setup
- name: Build third-party deps
run: |
cmake -S cmake.deps --preset ci
@@ -108,14 +104,17 @@ jobs:
{ runner: ubuntu-22.04, flavor: tsan, cc: clang, flags: -D ENABLE_TSAN=ON },
{ runner: ubuntu-22.04, cc: gcc },
{ runner: macos-12, cc: clang, flags: -D CMAKE_FIND_FRAMEWORK=NEVER, deps_flags: -D CMAKE_FIND_FRAMEWORK=NEVER },
- { runner: ubuntu-22.04, flavor: functionaltest-lua, cc: gcc, deps_flags: -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON, flags: -D PREFER_LUA=ON },
+ { runner: macos-14, cc: clang, flags: -D CMAKE_FIND_FRAMEWORK=NEVER, deps_flags: -D CMAKE_FIND_FRAMEWORK=NEVER },
+ { runner: ubuntu-22.04, flavor: puc-lua, cc: gcc, deps_flags: -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON, flags: -D PREFER_LUA=ON },
]
test: [unittest, functionaltest, oldtest]
exclude:
- test: unittest
build: { flavor: tsan }
- test: unittest
- build: { flavor: functionaltest-lua }
+ build: { flavor: puc-lua }
+ - test: unittest
+ build: { runner: macos-14 } # unittests don't work on M1 #26145
- test: oldtest
build: { flavor: tsan }
runs-on: ${{ matrix.build.runner }}
@@ -124,24 +123,13 @@ jobs:
CC: ${{ matrix.build.cc }}
steps:
- uses: actions/checkout@v4
- - run: ./.github/scripts/install_deps.sh --test
- - uses: ./.github/actions/cache
-
- - name: Set up environment
- run: |
- ulimit -c unlimited
- echo "$BIN_DIR" >> $GITHUB_PATH
+ - uses: ./.github/actions/setup
+ with:
+ install_flags: "--test"
- name: Create log dir
run: mkdir -p "$LOG_DIR"
- # FIXME(dundargoc): this workaround is needed for macos as the python3
- # provider tests suddenly started to become extremely flaky, and this
- # removes the flakiness for some reason.
- - uses: actions/setup-python@v4
- with:
- python-version: '3.11'
-
- if: ${{ matrix.test != 'unittest' }}
name: Set up interpreter packages
run: |
@@ -161,12 +149,12 @@ jobs:
- name: Build third-party deps
run: |
- cmake -S cmake.deps --preset ci ${{ matrix.build.deps_flags }}
+ cmake -S cmake.deps --preset ci -D CMAKE_BUILD_TYPE=Debug ${{ matrix.build.deps_flags }}
cmake --build .deps
- name: Build
run: |
- cmake --preset ci -D CMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX ${{ matrix.build.flags }}
+ cmake --preset ci -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX ${{ matrix.build.flags }}
cmake --build build
- name: ${{ matrix.test }}
@@ -213,8 +201,7 @@ jobs:
test: [functional, old]
steps:
- uses: actions/checkout@v4
- - uses: ./.github/actions/cache
- - run: .github/scripts/env.ps1
+ - uses: ./.github/actions/setup
- name: Build deps
run: |
@@ -281,8 +268,7 @@ jobs:
CC: gcc
steps:
- uses: actions/checkout@v4
- - run: ./.github/scripts/install_deps.sh
- - uses: ./.github/actions/cache
+ - uses: ./.github/actions/setup
- name: Build third-party deps
run: |
@@ -308,11 +294,11 @@ jobs:
CC: gcc
steps:
- uses: actions/checkout@v4
+ - uses: ./.github/actions/setup
- name: Install dependencies
run: |
sudo add-apt-repository ppa:neovim-ppa/stable
- ./.github/scripts/install_deps.sh
sudo apt-get install -y \
libluajit-5.1-dev \
libmsgpack-dev \
@@ -329,8 +315,6 @@ jobs:
# Remove comments from packages once we start using these external
# dependencies.
- - uses: ./.github/actions/cache
-
- name: Build third-party deps
run: |
cmake -S cmake.deps --preset external_deps
diff --git a/.github/workflows/vim-patches.yml b/.github/workflows/vim_patches.yml
index 711ddae815..711ddae815 100644
--- a/.github/workflows/vim-patches.yml
+++ b/.github/workflows/vim_patches.yml