-
Notifications
You must be signed in to change notification settings - Fork 1
171 lines (143 loc) · 5.61 KB
/
build_tests.yaml
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
name: Builds
on:
push:
branches: master
paths:
- Makefile
- 'src/**'
- '.github/workflows/build_tests.yaml'
pull_request:
branches: master
paths:
- Makefile
- 'src/**'
- '.github/workflows/build_tests.yaml'
jobs:
# GitHub Currently only supports running directly on Ubuntu,
# for any other Linux we need to use a container.
# CentOS 7 / glibc 2.17 / gcc 4.8.5
centos_7:
runs-on: ubuntu-latest
container:
image: centos:7
steps:
- name: Install tools/deps
run: |
yum -y install git gcc make jansson-devel libcurl-devel sqlite-devel
git clone https://github.com/ac000/libmtdac.git ${RUNNER_TEMP}/libmtdac
cd ${RUNNER_TEMP}/libmtdac/src
make
cd -
git clone https://github.com/ac000/libac.git ${RUNNER_TEMP}/libac
cd ${RUNNER_TEMP}/libac/src
make
export LD_LIBRARY_PATH="${RUNNER_TEMP}/libmtdac/src:${RUNNER_TEMP}/libac/src"
- uses: actions/checkout@v2
- name: make
# Fudge the version seeing as we don't actually have a git
# repository here due to needing git 2.18+. The version
# number is not actually important to just test the build.
run: CFLAGS="-I${RUNNER_TEMP}/libmtdac/include -I${RUNNER_TEMP}/libac/src/include -Werror" LDFLAGS="-L${RUNNER_TEMP}/libmtdac/src -L${RUNNER_TEMP}/libac/src" make GIT_VERSION=\\\"v0.0.0\\\" V=1
# Rocky Linux 8 (RHEL clone) / glibc 2.28 / gcc 8.5.0
rocky-linux-8:
runs-on: ubuntu-latest
container:
image: rockylinux:8
steps:
- name: Install tools/deps
run: |
yum -y install git gcc make jansson-devel libcurl-devel sqlite-devel
git clone https://github.com/ac000/libmtdac.git ${RUNNER_TEMP}/libmtdac
cd ${RUNNER_TEMP}/libmtdac/src
make
cd -
git clone https://github.com/ac000/libac.git ${RUNNER_TEMP}/libac
cd ${RUNNER_TEMP}/libac/src
make
export LD_LIBRARY_PATH="${RUNNER_TEMP}/libmtdac/src:${RUNNER_TEMP}/libac/src"
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: make
run: |
git config --global --add safe.directory /__w/itsa/itsa
CFLAGS="-I${RUNNER_TEMP}/libmtdac/include -I${RUNNER_TEMP}/libac/src/include -Werror" LDFLAGS="-L${RUNNER_TEMP}/libmtdac/src -L${RUNNER_TEMP}/libac/src" make V=1
# Debian 11 / glibc 2.31 / gcc 10.2
debian_11:
runs-on: ubuntu-latest
container:
image: debian:11
steps:
- name: Install deps
run: |
apt-get -y update
apt-get -y install git gcc make libjansson-dev libcurl4-openssl-dev libsqlite3-dev
git clone https://github.com/ac000/libmtdac.git ${RUNNER_TEMP}/libmtdac
cd ${RUNNER_TEMP}/libmtdac/src
make
cd -
git clone https://github.com/ac000/libac.git ${RUNNER_TEMP}/libac
cd ${RUNNER_TEMP}/libac/src
make
export LD_LIBRARY_PATH="${RUNNER_TEMP}/libmtdac/src:${RUNNER_TEMP}/libac/src"
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: make
run: |
git config --global --add safe.directory /__w/itsa/itsa
CFLAGS="-I${RUNNER_TEMP}/libmtdac/include -I${RUNNER_TEMP}/libac/src/include -Werror" LDFLAGS="-L${RUNNER_TEMP}/libmtdac/src -L${RUNNER_TEMP}/libac/src" make V=1
# Alpine Linux with musl libc and GCC
alpine:
runs-on: ubuntu-latest
container:
image: alpine:edge
steps:
- name: Install tools/deps
run: |
apk add build-base linux-headers git jansson-dev curl-dev sqlite-dev
git clone https://github.com/ac000/libmtdac.git ${RUNNER_TEMP}/libmtdac
cd ${RUNNER_TEMP}/libmtdac/src
make
cd -
git clone https://github.com/ac000/libac.git ${RUNNER_TEMP}/libac
cd ${RUNNER_TEMP}/libac/src
make
export LD_LIBRARY_PATH="${RUNNER_TEMP}/libmtdac/src:${RUNNER_TEMP}/libac/src"
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: make
run: |
git config --global --add safe.directory /__w/itsa/itsa
CFLAGS="-I${RUNNER_TEMP}/libmtdac/include -I${RUNNER_TEMP}/libac/src/include -Werror" LDFLAGS="-L${RUNNER_TEMP}/libmtdac/src -L${RUNNER_TEMP}/libac/src" make V=1
# Fedora 37 / glibc 2.36 / gcc 12.1 / clang 15
# Fedora 38 / glibc 2.37 / gcc 13.1 / clang 16
fedora:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os: [ 'fedora:37', 'fedora:38' ]
compiler: [ 'gcc', 'clang' ]
container:
image: ${{ matrix.os }}
steps:
- name: Install tools/deps
run: |
dnf -y install git ${{ matrix.compiler }} make jansson-devel libcurl-devel sqlite-devel
git clone https://github.com/ac000/libmtdac.git ${RUNNER_TEMP}/libmtdac
cd ${RUNNER_TEMP}/libmtdac/src
make CC=${{ matrix.compiler }}
cd -
git clone https://github.com/ac000/libac.git ${RUNNER_TEMP}/libac
cd ${RUNNER_TEMP}/libac/src
make CC=${{ matrix.compiler }}
export LD_LIBRARY_PATH="${RUNNER_TEMP}/libmtdac/src:${RUNNER_TEMP}/libac/src"
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: make CC=${{ matrix.compiler }}
run: |
git config --global --add safe.directory /__w/itsa/itsa
CFLAGS="-I${RUNNER_TEMP}/libmtdac/include -I${RUNNER_TEMP}/libac/src/include -Werror" LDFLAGS="-L${RUNNER_TEMP}/libmtdac/src -L${RUNNER_TEMP}/libac/src" make CC=${{ matrix.compiler }} V=1