-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path.cirrus.yml
60 lines (52 loc) · 2.58 KB
/
.cirrus.yml
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
task:
# only test the main branch and pull requests
only_if: $CIRRUS_BRANCH == "main" || $CIRRUS_PR != ""
matrix:
- name: FreeBSD
freebsd_instance:
image_family: freebsd-15-0-snap
environment:
CFLAGS: -Werror -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined
UBSAN_OPTIONS: print_stacktrace=1
install_script: pkg upgrade -y && pkg install -y bash cmake cscope git llvm py311-pytest vim
test_script: ./misc/ci.sh
- name: Linux
container:
image: gcc:14.2
environment:
DEBIAN_FRONTEND: noninteractive
CFLAGS: -Werror -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined -fuse-ld=gold
LC_ALL: C.UTF-8
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y cmake cscope libclang-dev llvm python3-pytest sqlite3 xxd vim
test_script: ./misc/ci.sh
- name: Linux, release build
container:
image: gcc:14.2
environment:
DEBIAN_FRONTEND: noninteractive
CFLAGS: -Werror -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined -fuse-ld=gold
CMAKE_FLAGS: -DCMAKE_BUILD_TYPE=Release
LC_ALL: C.UTF-8
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y cmake cscope libclang-dev llvm python3-pytest sqlite3 xxd vim
test_script: ./misc/ci.sh
- name: macOS
macos_instance:
image: ghcr.io/cirruslabs/macos-sonoma-base:latest
environment:
CFLAGS: -Werror -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined
PATH: /opt/homebrew/opt/llvm/bin:${PATH}
UBSAN_OPTIONS: print_stacktrace=1
install_script: brew update && brew install coreutils cscope llvm && python3 -m pip install --break-system-packages pytest
test_script: env CMAKE_FLAGS=-DPython3_EXECUTABLE=$(which python3) ./misc/ci.sh
- name: C formatting
container:
image: silkeh/clang:15
install_script: apt-get update -y && apt-get install --no-install-recommends -y git
test_script: clang-format --version && git ls-files -z -- ':!:test/cases' '**/*.c' '**/*.h' | xargs -0 -- clang-format --dry-run --style=file --Werror
- name: Python formatting
container:
image: cytopia/black
install_script: apk add git
test_script: git ls-files -z -- ':!:test/cases' '**/*.py' | xargs -0 -- python3 -m black && git diff --exit-code