-
Notifications
You must be signed in to change notification settings - Fork 6
/
.cirrus.yml
129 lines (122 loc) · 6.34 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
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
task:
# only test the main branch and pull requests
only_if: $CIRRUS_BRANCH == "main" || $CIRRUS_PR != ""
# increase timeout to the maximum limit
timeout_in: 120m
matrix:
- name: FreeBSD 15.0
freebsd_instance:
image_family: freebsd-15-0-snap
install_script: pkg upgrade -y && pkg install -y bash bison cmake gmp libxml2 py311-pytest z3
- name: FreeBSD 15.0, shared libraries
freebsd_instance:
image_family: freebsd-15-0-snap
environment:
CMAKE_OPTIONS: -DBUILD_SHARED_LIBS=ON
install_script: pkg upgrade -y && pkg install -y bash bison cmake gmp libxml2 py311-pytest z3
- name: FreeBSD 14.0
freebsd_instance:
image_family: freebsd-14-0-snap
install_script: pkg upgrade -y && pkg install -y bash bison cmake gmp libxml2 py311-pytest z3
- name: FreeBSD 14.0, shared libraries
freebsd_instance:
image_family: freebsd-14-0-snap
environment:
CMAKE_OPTIONS: -DBUILD_SHARED_LIBS=ON
install_script: pkg upgrade -y && pkg install -y bash bison cmake gmp libxml2 py311-pytest z3
- name: FreeBSD 13.3
freebsd_instance:
image_family: freebsd-13-3
install_script: pkg upgrade -y && pkg install -y bash bison cmake gmp libxml2 py311-pytest z3
- name: FreeBSD 13.3, shared libraries
freebsd_instance:
image_family: freebsd-13-3
environment:
CMAKE_OPTIONS: -DBUILD_SHARED_LIBS=ON
install_script: pkg upgrade -y && pkg install -y bash bison cmake gmp libxml2 py311-pytest z3
- name: Linux, GCC 8.5
container:
image: gcc:8.5
environment:
DEBIAN_FRONTEND: noninteractive
CXXFLAGS: -pedantic -Werror -g
install_script: apt-get update -y && apt-get install --no-install-recommends -y bison cmake libfl-dev libgmp-dev python3-pytest
- name: Linux, GCC 9.5
container:
image: gcc:9.5
environment:
DEBIAN_FRONTEND: noninteractive
CXXFLAGS: -pedantic -Werror -g
install_script: apt-get update -y && apt-get install --no-install-recommends -y bison cmake libfl-dev libgmp-dev python3-pytest
- name: Linux, GCC 10.5
container:
image: gcc:10.5
environment:
DEBIAN_FRONTEND: noninteractive
CXXFLAGS: -pedantic -Werror -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined -fuse-ld=gold
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y bison cmake libfl-dev libgmp-dev libxml2-utils python3-pytest strace z3
- name: Linux, GCC 11.5
container:
image: gcc:11.5
environment:
DEBIAN_FRONTEND: noninteractive
CXXFLAGS: -pedantic -Werror -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined -fuse-ld=gold
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y bison cmake libfl-dev libgmp-dev libxml2-utils python3-pytest strace z3
- name: Linux, GCC 12.4
container:
image: gcc:12.4
environment:
DEBIAN_FRONTEND: noninteractive
CXXFLAGS: -pedantic -Werror -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined -fuse-ld=gold
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y bison cmake libfl-dev libgmp-dev libxml2-utils python3-pytest strace z3
- name: Linux, GCC 13.3
container:
image: gcc:13.3
environment:
DEBIAN_FRONTEND: noninteractive
CXXFLAGS: -pedantic -Werror -Wno-error=overloaded-virtual -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined -fuse-ld=gold
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y bison cmake libfl-dev libgmp-dev libxml2-utils python3-pytest strace z3
- name: Linux, GCC 14.2
container:
image: gcc:14.2
environment:
DEBIAN_FRONTEND: noninteractive
CXXFLAGS: -pedantic -Werror -Wno-error=overloaded-virtual -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=undefined -fuse-ld=gold
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y bison cmake libfl-dev libgmp-dev libxml2-utils python3-pytest strace z3
- name: Linux, ARM, GCC 14.2
arm_container:
image: gcc:14.2
environment:
DEBIAN_FRONTEND: noninteractive
CXXFLAGS: -pedantic -Werror -Wno-error=overloaded-virtual -g -fsanitize=address,undefined -fno-sanitize-recover=undefined -fuse-ld=gold
UBSAN_OPTIONS: print_stacktrace=1
install_script: apt-get update -y && apt-get install --no-install-recommends -y bison cmake libfl-dev libgmp-dev libxml2-utils python3-pytest strace z3
- name: macOS, Homebrew
macos_instance:
image: ghcr.io/cirruslabs/macos-runner:sonoma
environment:
# To quote Homebrew, "bison is keg-only, which means it was not
# symlinked into /usr/local, because some formulae require a newer
# version of bison." I do not know when this became the case as it was
# not originally, but we'll force this.
PATH: /usr/local/opt/bison/bin:${PATH}
CXXFLAGS: -fsanitize=address -Werror
SUDO: sudo
install_script: uname -rms && brew update && brew install bison && brew link bison --force && python3 -m pip install --break-system-packages pytest
- name: macOS, Macports
macos_instance:
image: ghcr.io/cirruslabs/macos-runner:sonoma
environment:
PATH: /opt/local/bin:${PATH}
CXXFLAGS: -fsanitize=address -Werror
SUDO: sudo
install_script: uname -rms && ./misc/install-macports.sh && sudo port -v selfupdate && sudo port -N install bison && python3 -m pip install --break-system-packages pytest
# we limit the test suite to a single thread because the Cirrus CI VMs claim
# to have 2 CPUs but do not seem to give two concurrent processes enough CPU
# time and we end up having some of the SMT tests time out
test_script: uname -rms && python3 --version && cmake ${CMAKE_OPTIONS:-} -B build -S . && cmake --build build && ${SUDO:-} cmake --install build && cmake --build build --target check