-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.cirrus.yml
65 lines (58 loc) · 3.88 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
61
62
63
64
65
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
install_script: pkg upgrade -y && pkg install -y base64 cmake json-c openssl pkgconf scrypt vim && sudo python3 -m ensurepip && sudo python3 -m pip install pexpect pytest
test_script: uname -sr && python3 --version && mkdir build && cd build && cmake -DENABLE_GUI=OFF .. && cmake --build . && cmake --build . -- check && sudo cmake --build . -- install
- name: Linux, GCC, no GTK
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
# $LANG and $LC_* are not set by default in this images, so force
# $LC_ALL to make `man` work correctly
LC_ALL: C
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y cmake libjson-c-dev libscrypt-kdf1 libscrypt-kdf-dev man-db python3-pexpect python3-pytest xxd
test_script: uname -sr && python3 --version && mkdir build && cd build && cmake -DENABLE_GUI=OFF .. && cmake --build . && cmake --build . -- check && cmake --build . -- install
- name: Linux, GCC, GTK 2
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 -Wno-deprecated-declarations
# $LANG and $LC_* are not set by default in this images, so force
# $LC_ALL to make `man` work correctly
LC_ALL: C
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y cmake libgtk2.0-dev libjson-c-dev libscrypt-kdf1 libscrypt-kdf-dev libxtst-dev man-db python3-pexpect python3-pytest xxd
test_script: uname -sr && python3 --version && mkdir build && cd build && cmake .. && cmake --build . && cmake --build . -- check && cmake --build . -- install
- name: Linux, GCC, GTK 3
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 -Wno-deprecated-declarations
# $LANG and $LC_* are not set by default in this images, so force
# $LC_ALL to make `man` work correctly
LC_ALL: C
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y cmake libgtk-3-dev libjson-c-dev libscrypt-kdf1 libscrypt-kdf-dev libxtst-dev man-db python3-pexpect python3-pytest xxd
test_script: uname -sr && python3 --version && mkdir build && cd build && cmake .. && cmake --build . && cmake --build . -- check && cmake --build . -- install
- name: macOS
macos_instance:
image: ghcr.io/cirruslabs/macos-sonoma-base:latest
environment:
CFLAGS: -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include
LDFLAGS: -L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/lib
PKG_CONFIG_PATH: /opt/homebrew/opt/openssl@3/lib/pkgconfig
install_script: brew update && brew install json-c libscrypt openssl python3 && python3 -m pip install --break-system-packages pexpect pytest
test_script: uname -sr && python3 --version && mkdir build && cd build && cmake .. && cmake --build . && cmake --build . -- check && sudo cmake --build . -- install
- name: clang-format
container:
image: silkeh/clang:14
test_script: uname -rms && apt-get update -y && apt-get install --no-install-recommends -y git && git ls-files -z '**/*.c' '**/*.h' | xargs -0 -- clang-format --dry-run --style=file --Werror