-
Notifications
You must be signed in to change notification settings - Fork 133
134 lines (132 loc) · 5.18 KB
/
multi-distro-build.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
name: Multi-distro build
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- master
jobs:
multi-distro-build:
runs-on: ubuntu-latest
if: always()
strategy:
matrix:
build:
#############
# AlmaLinux #
#############
- {
tag: "almalinux:9",
installcmd: "dnf install -y epel-release && dnf install -y",
pkgs: "glib2-devel json-glib-devel gcc python3-scons",
}
- {
tag: "almalinux:10-kitten",
installcmd: "dnf install -y epel-release && dnf install -y",
pkgs: "glib2-devel json-glib-devel gcc python3-scons",
}
##########
# Alpine #
##########
- {
tag: "alpine:latest",
installcmd: "apk add",
pkgs: "build-base glib-dev json-glib-dev pkgconf scons",
}
#############
# ArchLinux #
#############
- {
tag: "archlinux:latest",
installcmd: "pacman -Sy --noconfirm",
pkgs: "base-devel git json-glib scons",
}
###########
# CachyOS #
###########
- {
tag: "cachyos/cachyos:latest",
installcmd: "pacman -Sy --noconfirm",
pkgs: "base-devel git json-glib scons",
}
##########
# Debian #
##########
- {
tag: "debian:bullseye",
env: "DEBIAN_FRONTEND=noninteractive",
installcmd: "apt update && apt install -y --no-install-recommends",
pkgs: "clang gettext libblkid-dev libelf-dev libffi-dev libglib2.0-dev libjson-glib-dev python3-cffi python3-dev python3-pip python3-setuptools python3-sphinx scons",
}
- {
tag: "debian:bookworm",
env: "DEBIAN_FRONTEND=noninteractive",
installcmd: "apt update && apt install -y --no-install-recommends",
pkgs: "clang gettext libblkid-dev libelf-dev libffi-dev libglib2.0-dev libjson-glib-dev python3-cffi python3-dev python3-pip python3-setuptools python3-sphinx scons",
}
- {
tag: "debian:trixie",
env: "DEBIAN_FRONTEND=noninteractive",
installcmd: "apt update && apt install -y --no-install-recommends",
pkgs: "clang gettext libblkid-dev libelf-dev libffi-dev libglib2.0-dev libjson-glib-dev python3-cffi python3-dev python3-pip python3-setuptools python3-sphinx scons",
}
##########
# Fedora #
##########
- {
tag: "fedora:latest",
installcmd: "dnf install -y",
pkgs: "glib2-devel json-glib-devel gcc python3-scons",
}
############
# OpenSUSE #
############
- {
tag: "opensuse/leap:latest",
installcmd: "zypper -n install",
pkgs: "json-glib-devel glib2-devel patterns-devel-base-devel_basis scons",
}
- {
tag: "opensuse/tumbleweed:latest",
installcmd: "zypper -n install",
pkgs: "json-glib-devel glib2-devel patterns-devel-base-devel_basis scons",
}
##########
# Ubuntu #
##########
- {
tag: "ubuntu:20.04",
env: "DEBIAN_FRONTEND=noninteractive",
installcmd: "apt update && apt install -y --no-install-recommends",
pkgs: "clang gettext libblkid-dev libelf-dev libffi-dev libglib2.0-dev libjson-glib-dev python3-cffi python3-dev python3-pip python3-setuptools python3-sphinx scons",
}
- {
tag: "ubuntu:22.04",
env: "DEBIAN_FRONTEND=noninteractive",
installcmd: "apt update && apt install -y --no-install-recommends",
pkgs: "clang gettext libblkid-dev libelf-dev libffi-dev libglib2.0-dev libjson-glib-dev python3-cffi python3-dev python3-pip python3-setuptools python3-sphinx scons",
}
- {
tag: "ubuntu:24.04",
env: "DEBIAN_FRONTEND=noninteractive",
installcmd: "apt update && apt install -y --no-install-recommends",
pkgs: "clang gettext libblkid-dev libelf-dev libffi-dev libglib2.0-dev libjson-glib-dev python3-cffi python3-dev python3-pip python3-setuptools python3-sphinx scons",
}
- {
tag: "ubuntu:rolling",
env: "DEBIAN_FRONTEND=noninteractive",
installcmd: "apt update && apt install -y --no-install-recommends",
pkgs: "clang gettext libblkid-dev libelf-dev libffi-dev libglib2.0-dev libjson-glib-dev python3-cffi python3-dev python3-pip python3-setuptools python3-sphinx scons",
}
steps:
- uses: actions/checkout@v4
- name: "Build on ${{ matrix.build.tag }}"
run: >
echo "
export UNUSED_VAR_SO_THIS_CMD_IS_NEVER_EMPTY= ${{ matrix.build.env }}
${{ matrix.build.installcmd }} ${{ matrix.build.pkgs }}
cd /build
scons config
scons VERBOSE=1 DEBUG=1 O=release
exit
" | docker run --rm -i -v "$PWD:/build" "${{ matrix.build.tag }}" sh