-
Notifications
You must be signed in to change notification settings - Fork 2
129 lines (101 loc) · 3.06 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
name: Builds
on:
push:
branches: master
paths:
- Makefile
- 'include/libmtdac/**'
- 'src/**'
- '.github/workflows/build_tests.yaml'
pull_request:
branches: master
paths:
- Makefile
- 'include/libmtdac/**'
- '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 gcc make jansson-devel libcurl-devel
- 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=-Werror 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
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: make
run: |
git config --global --add safe.directory /__w/libmtdac/libmtdac
CFLAGS=-Werror 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
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: make
run: |
git config --global --add safe.directory /__w/libmtdac/libmtdac
CFLAGS=-Werror 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
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: make
run: |
git config --global --add safe.directory /__w/libmtdac/libmtdac
CFLAGS=-Werror 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
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: make CC=${{ matrix.compiler }}
run: |
git config --global --add safe.directory /__w/libmtdac/libmtdac
CFLAGS=-Werror make CC=${{ matrix.compiler }} V=1