-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (111 loc) · 4.31 KB
/
Copy pathci.yml
File metadata and controls
130 lines (111 loc) · 4.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: CI
on:
push:
branches:
- bluff
pull_request:
branches:
- bluff
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
quality:
name: quality
runs-on: ubuntu-24.04
steps:
- name: Check out repository
uses: actions/checkout@v7
with:
fetch-depth: 2
- name: Test automatic release policy
run: bash scripts/test-release-tested.sh
- name: Reject whitespace errors
run: git diff --check HEAD^ HEAD
linux-smoke:
name: linux-smoke (${{ matrix.neovim }})
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- neovim: v0.10.4
sha256: 95aaa8e89473f5421114f2787c13ae0ec6e11ebbd1a13a1bd6fcf63420f8073f
- neovim: v0.11.7
sha256: 38a7c6317f94503841096c00e8fde05ef04b9472fc9d7d62b6e033cecd6f7991
- neovim: v0.12.4
sha256: 012bf3fcac5ade43914df3f174668bf64d05e049a4f032a388c027b1ebd78628
steps:
- name: Check out repository
uses: actions/checkout@v7
- name: Install pinned Neovim
env:
NVIM_VERSION: ${{ matrix.neovim }}
NVIM_SHA256: ${{ matrix.sha256 }}
run: |
mkdir --parents "$RUNNER_TEMP/nvim"
curl --fail --location --retry 3 \
"https://github.com/neovim/neovim/releases/download/$NVIM_VERSION/nvim-linux-x86_64.tar.gz" \
--output "$RUNNER_TEMP/nvim.tar.gz"
echo "$NVIM_SHA256 $RUNNER_TEMP/nvim.tar.gz" | sha256sum --check --strict
tar --extract --gzip --strip-components=1 \
--file "$RUNNER_TEMP/nvim.tar.gz" --directory "$RUNNER_TEMP/nvim"
echo "$RUNNER_TEMP/nvim/bin" >> "$GITHUB_PATH"
- name: Compile every Lua file
run: nvim --headless --clean -l scripts/check-lua.lua .
- name: Run focused renderer and GitHub provider tests
run: nvim --headless -u tests/minimal_init.lua -l tests/unit.lua
- name: Run isolated Git fixture smoke test
run: nvim --headless -u tests/minimal_init.lua -l tests/smoke.lua
- name: Run signed merge Git fixture
run: nvim --headless -u tests/minimal_init.lua -l tests/signed_merge.lua
- name: Verify help tags
if: matrix.neovim == 'v0.12.4'
run: |
nvim --headless -u tests/minimal_init.lua -c "helptags doc" -c quit
git diff --exit-code -- doc/tags
macos-smoke:
name: macos-smoke
runs-on: macos-15
steps:
- name: Check out repository
uses: actions/checkout@v7
- name: Install pinned Neovim
env:
NVIM_VERSION: v0.12.4
NVIM_ARM64_SHA256: 51ab83afa66d663627c2ab1be43209b0f4e81360d4598b53efaa4d8195f24c89
NVIM_X86_64_SHA256: 03fe16f8dd9f1e9eaf52d5e294913a39917b9e2faea30d7fb0fb385fbd36fe59
run: |
case "$(uname -m)" in
arm64)
archive="nvim-macos-arm64.tar.gz"
checksum="$NVIM_ARM64_SHA256"
;;
x86_64)
archive="nvim-macos-x86_64.tar.gz"
checksum="$NVIM_X86_64_SHA256"
;;
*)
echo "Unsupported runner architecture: $(uname -m)" >&2
exit 1
;;
esac
mkdir -p "$RUNNER_TEMP/nvim"
curl --fail --location --retry 3 \
"https://github.com/neovim/neovim/releases/download/$NVIM_VERSION/$archive" \
--output "$RUNNER_TEMP/nvim.tar.gz"
echo "$checksum $RUNNER_TEMP/nvim.tar.gz" | shasum --algorithm 256 --check
tar --extract --gzip --strip-components=1 \
--file "$RUNNER_TEMP/nvim.tar.gz" --directory "$RUNNER_TEMP/nvim"
echo "$RUNNER_TEMP/nvim/bin" >> "$GITHUB_PATH"
- name: Compile every Lua file
run: nvim --headless --clean -l scripts/check-lua.lua .
- name: Run focused renderer and GitHub provider tests
run: nvim --headless -u tests/minimal_init.lua -l tests/unit.lua
- name: Run isolated Git fixture smoke test
run: nvim --headless -u tests/minimal_init.lua -l tests/smoke.lua
- name: Run signed merge Git fixture
run: nvim --headless -u tests/minimal_init.lua -l tests/signed_merge.lua