Skip to content

Commit 0983b0f

Browse files
redtidejohanmalm
authored andcommitted
Added GitHub CI workflow
1 parent fb50aab commit 0983b0f

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

.github/workflows/build.yml

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- '*'
6+
# Manual builds and PRs in all branches
7+
pull_request:
8+
branches:
9+
- '*'
10+
workflow_dispatch:
11+
branches:
12+
- '*'
13+
jobs:
14+
build:
15+
name: Build
16+
timeout-minutes: 20
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
name: [
21+
Arch,
22+
Debian
23+
]
24+
include:
25+
- name: Arch
26+
os: ubuntu-latest
27+
container: archlinux:base-devel
28+
29+
- name: Debian
30+
os: ubuntu-latest
31+
container: debian:testing
32+
33+
runs-on: ${{ matrix.os }}
34+
container: ${{ matrix.container }}
35+
36+
steps:
37+
- name: Checkout
38+
uses: actions/checkout@v4
39+
40+
- name: Install Arch Linux dependencies
41+
if: matrix.name == 'Arch'
42+
run: |
43+
pacman-key --init
44+
pacman -Syu --noconfirm
45+
packages=(
46+
clang
47+
cmake
48+
git
49+
libxml2
50+
qt6-base
51+
qt6-tools
52+
)
53+
pacman -S --noconfirm ${packages[@]}
54+
55+
- name: Install Debian Testing dependencies
56+
if: matrix.name == 'Debian'
57+
run: |
58+
apt-get update
59+
apt-get upgrade -y
60+
apt-get install -y cmake clang g++ gcc git \
61+
libglib2.0 libgl1-mesa-dev libxml2-dev pkg-config \
62+
qt6-base-dev qt6-l10n-tools \
63+
qt6-tools-dev qt6-tools-dev-tools
64+
65+
# These builds are executed on all runners
66+
- name: Build with gcc
67+
run: |
68+
export CC=gcc
69+
export CXX=g++
70+
cmake \
71+
-D CMAKE_BUILD_TYPE=Release \
72+
-B build-gcc \
73+
-S .
74+
cmake --build build-gcc --verbose
75+
76+
- name: Build with clang
77+
run: |
78+
export CC=clang
79+
export CXX=clang++
80+
cmake \
81+
-D CMAKE_BUILD_TYPE=Release \
82+
-B build-clang \
83+
-S .
84+
cmake --build build-clang --verbose

0 commit comments

Comments
 (0)