forked from freefoote/gpscorrelate
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy path.cirrus.yml
141 lines (123 loc) · 4.19 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
130
131
132
133
134
135
136
137
138
139
140
141
# Cirrus CI configuration
# https://cirrus-ci.com/github/dfandrich/gpscorrelate
freebsd_task:
name: FreeBSD
skip: "changesIncludeOnly(
'.appveyor.yml',
'.github/**'
)"
freebsd_instance:
memory: 1000M
cpu: 1
matrix:
image_family: freebsd-14-2
image_family: freebsd-13-4
env:
# Set to 10 instead of 1 to avoid problems when new commits are submitted
# during a run.
CIRRUS_CLONE_DEPTH: 10
CFLAGS: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1
LDFLAGS: $CFLAGS -lintl
CC: cc
CXX: c++
MAKEFLAGS: -j 3
matrix:
- GTK: 2
- GTK: 3
pkginstall_script:
# pkg install sometimes gets package size mismatches without this
- pkg update -f
- pkg install -y pkgconf docbook-xsl exiv2 libxml2 gtk"$GTK" libxslt gettext-tools desktop-file-utils
compile_script:
- make CC="$CC" CXX="$CXX" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" GTK="$GTK"
test_script:
- ./gpscorrelate -V
# The tests involving writing to read-only files fail when run as root
# (because the OS allows the files to be overwritten then). Run the
# tests as a normal user to get around that problem. The log directory
# must be world-writable since files will be written there.
- install -d -m 0777 tests/log
- sudo -u nobody make check CHECK_OPTIONS=-v
install_script:
- make prefix= DESTDIR="${HOME}" install install-po install-desktop-file
linux_arm_task:
name: ARM Linux
skip: "changesIncludeOnly(
'.appveyor.yml',
'.github/**'
)"
arm_container:
image: ubuntu:24.04
memory: 400M
cpu: 1
env:
# Set to 10 instead of 1 to avoid problems when new commits are submitted
# during a run.
CIRRUS_CLONE_DEPTH: 10
DEBIAN_FRONTEND: noninteractive
CFLAGS: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1
LDFLAGS: $CFLAGS
CC: cc
CXX: c++
MAKE_FLAGS: -j 2
matrix:
- GTK: 2
- GTK: 3
pkginstall_script:
- uname -a
- apt-get update -y && apt-get install -y --no-install-suggests --no-install-recommends build-essential desktop-file-utils docbook-xsl exiv2 libexiv2-dev libgtk${GTK/3/-}${GTK/2/.0}-dev xsltproc libxml2-dev gettext
# Create a user for running tests
- useradd -p '' build
compile_script:
- make CC="$CC" CXX="$CXX" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" GTK="$GTK"
test_script:
- ./gpscorrelate -V
# The tests involving writing to read-only files fail when run as root
# (because the OS allows the files to be overwritten then). Run the
# tests as a normal user to get around that problem. The log directory
# must be world-writable since files will be written there.
- install -d -m 0777 tests/log
- su build -c 'make check CHECK_OPTIONS=-v'
install_script:
- make prefix= DESTDIR="${HOME}" install install-po install-desktop-file
linux_musl_task:
name: Linux MUSL
skip: "changesIncludeOnly(
'.appveyor.yml',
'.github/**'
)"
container:
memory: 320M
cpu: 1
matrix:
- image: alpine:3.21
- image: alpine:3.18
env:
# Set to 10 instead of 1 to avoid problems when new commits are submitted
# during a run.
CIRRUS_CLONE_DEPTH: 10
CFLAGS: -Wall -Wextra -Werror -Wno-error=deprecated-declarations -O3 -DENABLE_NLS=1
LDFLAGS: $CFLAGS -lintl
CC: cc
CXX: c++
MAKE_FLAGS: -j 2
matrix:
- GTK: 2
- GTK: 3
pkginstall_script:
- uname -a
- apk add --no-cache build-base exiv2-dev libxml2-dev gettext-dev "gtk+${GTK}.0-dev" desktop-file-utils
# Create a user for running tests
- adduser -D build
compile_script:
- make CC="$CC" CXX="$CXX" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" GTK="$GTK"
test_script:
- ./gpscorrelate -V
# The tests involving writing to read-only files fail when run as root
# (because the OS allows the files to be overwritten then). Run the
# tests as a normal user to get around that problem. The log directory
# must be world-writable since files will be written there.
- install -d -m 0777 tests/log
- su build -c 'make check CHECK_OPTIONS=-v'
install_script:
- make prefix= DESTDIR="${HOME}" install install-po install-desktop-file