Skip to content

Commit e78b02e

Browse files
committed
Updated CI configuration
1 parent a3ab76d commit e78b02e

File tree

5 files changed

+428
-92
lines changed

5 files changed

+428
-92
lines changed

.github/workflows/freebsd.yml

Lines changed: 61 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,37 +22,81 @@ on:
2222
push:
2323
branches:
2424
- master
25+
- main
2526
- dreibh/github-actions
26-
- dreibh/github-actions-freebsd
2727

2828
jobs:
29-
build_job:
29+
30+
# #########################################################################
31+
# #### Build from Sources ####
32+
# #########################################################################
33+
Build:
3034

3135
# ###### Build matrix ###################################################
3236
strategy:
3337
matrix:
3438
include:
35-
36-
# ====== FreeBSD 14.3 =============================================
37-
- label: "FreeBSD 14.3: Clang/x86_64"
39+
# ====== FreeBSD ==================================================
40+
# - label: "FreeBSD 15.0 with Clang/x86_64"
41+
# release: 15.0
42+
# cc: clang
43+
# cxx: clang++
44+
- label: "FreeBSD 14.3 with Clang/x86_64"
3845
release: 14.3
3946
cc: clang
4047
cxx: clang++
4148

49+
# ###### Build commands #################################################
50+
name: ${{ matrix.label }}
51+
runs-on: ubuntu-latest
52+
steps:
53+
- uses: actions/checkout@v6
54+
- name: Test in FreeBSD
55+
id: test
56+
uses: vmactions/freebsd-vm@v1
57+
with:
58+
release: ${{ matrix.release }}
59+
usesh: true
60+
run: |
61+
ASSUME_ALWAYS_YES=yes pkg install -y bash
62+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-setup compile
63+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-install compile
64+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-build compile
65+
66+
67+
# #########################################################################
68+
# #### Multi-Architecture Builds ####
69+
# #########################################################################
70+
Architectures:
71+
# ###### Build matrix ###################################################
72+
strategy:
73+
matrix:
74+
include:
75+
# ====== FreeBSD ==================================================
76+
- label: "FreeBSD 14.3 with Clang/ARMv8"
77+
release: 14.3
78+
architecture: aarch64
79+
cc: clang
80+
cxx: clang++
81+
- label: "FreeBSD 14.3 with Clang/RISC-V"
82+
release: 14.3
83+
architecture: riscv64
84+
cc: clang
85+
cxx: clang++
4286

4387
# ###### Build commands #################################################
4488
name: ${{ matrix.label }}
4589
runs-on: ubuntu-latest
4690
steps:
47-
- uses: actions/checkout@v4
48-
- name: Test in FreeBSD
49-
id: test
50-
uses: vmactions/freebsd-vm@v1
51-
with:
52-
release: ${{ matrix.release }}
53-
usesh: true
54-
run: |
55-
ASSUME_ALWAYS_YES=yes pkg install -y bash
56-
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-setup compile
57-
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-install compile
58-
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-build compile
91+
- uses: actions/checkout@v6
92+
- name: Test in FreeBSD
93+
id: test
94+
uses: vmactions/freebsd-vm@v1
95+
with:
96+
release: ${{ matrix.release }}
97+
usesh: true
98+
run: |
99+
ASSUME_ALWAYS_YES=yes pkg install -y bash
100+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-setup compile
101+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-install compile
102+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-build compile

.github/workflows/linux-debian.yml

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# GitHub Actions Scripts
2+
# Copyright (C) 2021-2026 by Thomas Dreibholz
3+
#
4+
# This program is free software: you can redistribute it and/or modify
5+
# it under the terms of the GNU General Public License as published by
6+
# the Free Software Foundation, either version 3 of the License, or
7+
# (at your option) any later version.
8+
#
9+
# This program is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
# GNU General Public License for more details.
13+
#
14+
# You should have received a copy of the GNU General Public License
15+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
16+
#
17+
# Contact: dreibh@simula.no
18+
19+
name: Debian Linux CI Tests
20+
21+
on:
22+
push:
23+
branches:
24+
- master
25+
- main
26+
- dreibh/github-actions
27+
28+
jobs:
29+
30+
# #########################################################################
31+
# #### Build from Sources ####
32+
# #########################################################################
33+
Build:
34+
35+
# ###### Build matrix ###################################################
36+
strategy:
37+
matrix:
38+
include:
39+
# ====== Debian Linux =============================================
40+
- label: "Debian 13 (Trixie) with GCC"
41+
image: debian:trixie
42+
cc: gcc
43+
cxx: g++
44+
- label: "Debian 12 (Bookworm) with GCC"
45+
image: debian:bookworm
46+
cc: gcc
47+
cxx: g++
48+
49+
# ###### Build commands #################################################
50+
name: ${{ matrix.label }}
51+
runs-on: ubuntu-latest
52+
container:
53+
image: ${{ matrix.image }}
54+
steps:
55+
# NOTE: actions/checkout@v6 does not work for old Ubuntu 18.04!
56+
- uses: actions/checkout@v6
57+
- name: Build
58+
shell: bash
59+
run: |
60+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ARCH= ci/ci-setup compile
61+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ARCH= ci/ci-install compile
62+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ARCH= ci/ci-build compile
63+
64+
65+
# #########################################################################
66+
# #### Multi-Architecture Builds ####
67+
# #########################################################################
68+
Architectures:
69+
# ###### Build matrix ###################################################
70+
strategy:
71+
matrix:
72+
include:
73+
# ====== Debian Linux =============================================
74+
- label: "Debian 13 (Trixie) with GCC/i386"
75+
arch: i386
76+
distro: trixie
77+
cc: gcc
78+
cxx: g++
79+
- label: "Debian 13 (Trixie) with Clang/ARMv7"
80+
arch: arm32v7
81+
distro: trixie
82+
cc: clang
83+
cxx: clang++
84+
85+
# ###### Build commands #################################################
86+
name: ${{ matrix.label }}
87+
runs-on: ubuntu-latest
88+
steps:
89+
- uses: actions/checkout@v6
90+
# NOTE: dreibh/run-on-arch-action provides the upstream
91+
# uraimo/run-on-arch-action action, with additional dockerfiles
92+
# needed for the builds here!
93+
- uses: dreibh/run-on-arch-action@dreibh/tests
94+
name: Build
95+
id: build
96+
with:
97+
arch: ${{ matrix.arch }}
98+
distro: ${{ matrix.distro }}
99+
run: |
100+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-setup compile
101+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-install compile
102+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-build compile
103+
104+
105+
# #########################################################################
106+
# #### Build Packages ####
107+
# #########################################################################
108+
Package:
109+
name: Debian Packaging
110+
runs-on: ubuntu-latest
111+
container:
112+
image: debian:unstable
113+
options: --privileged
114+
steps:
115+
- uses: actions/checkout@v6
116+
- name: Packaging
117+
shell: bash
118+
run: |
119+
CC=gcc CXX=g++ OS=debian DIST=unstable ARCH= ci/ci-setup package
120+
CC=gcc CXX=g++ OS=debian DIST=unstable ARCH= ci/ci-install package
121+
CC=gcc CXX=g++ OS=debian DIST=unstable ARCH= ci/ci-build package
122+
# ci/ci-test <- Not running on Ubuntu!

.github/workflows/linux-fedora.yml

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# GitHub Actions Scripts
2+
# Copyright (C) 2021-2026 by Thomas Dreibholz
3+
#
4+
# This program is free software: you can redistribute it and/or modify
5+
# it under the terms of the GNU General Public License as published by
6+
# the Free Software Foundation, either version 3 of the License, or
7+
# (at your option) any later version.
8+
#
9+
# This program is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
# GNU General Public License for more details.
13+
#
14+
# You should have received a copy of the GNU General Public License
15+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
16+
#
17+
# Contact: dreibh@simula.no
18+
19+
name: Fedora Linux CI Tests
20+
21+
on:
22+
push:
23+
branches:
24+
- master
25+
- main
26+
- dreibh/github-actions
27+
28+
jobs:
29+
30+
# #########################################################################
31+
# #### Build from Sources ####
32+
# #########################################################################
33+
Build:
34+
35+
# ###### Build matrix ###################################################
36+
strategy:
37+
matrix:
38+
include:
39+
# ====== Fedora Linux =============================================
40+
- label: "Fedora 43 with Clang"
41+
image: fedora:43
42+
cc: clang
43+
cxx: clang++
44+
45+
# ###### Build commands #################################################
46+
name: ${{ matrix.label }}
47+
runs-on: ubuntu-latest
48+
container:
49+
image: ${{ matrix.image }}
50+
steps:
51+
# NOTE: actions/checkout@v6 does not work for old Ubuntu 18.04!
52+
- uses: actions/checkout@v6
53+
- name: Build
54+
shell: bash
55+
run: |
56+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ARCH= ci/ci-setup compile
57+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ARCH= ci/ci-install compile
58+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ARCH= ci/ci-build compile
59+
60+
61+
# #########################################################################
62+
# #### Multi-Architecture Builds ####
63+
# #########################################################################
64+
Architectures:
65+
# ###### Build matrix ###################################################
66+
strategy:
67+
matrix:
68+
include:
69+
# ====== Fedora Linux =============================================
70+
- label: "Fedora 43 with Clang/PPC64"
71+
arch: ppc64le
72+
distro: fedora43
73+
cc: clang
74+
cxx: clang++
75+
# ====== Fedora Linux =============================================
76+
- label: "Fedora 43 with Clang/ARMv8"
77+
arch: aarch64
78+
distro: fedora43
79+
cc: clang
80+
cxx: clang++
81+
82+
# ###### Build commands #################################################
83+
name: ${{ matrix.label }}
84+
runs-on: ubuntu-latest
85+
steps:
86+
- uses: actions/checkout@v6
87+
# NOTE: dreibh/run-on-arch-action provides the upstream
88+
# uraimo/run-on-arch-action action, with additional dockerfiles
89+
# needed for the builds here!
90+
- uses: dreibh/run-on-arch-action@dreibh/tests
91+
name: Build
92+
id: build
93+
with:
94+
arch: ${{ matrix.arch }}
95+
distro: ${{ matrix.distro }}
96+
run: |
97+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-setup compile
98+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-install compile
99+
CC=${{ matrix.cc }} CXX=${{ matrix.cxx }} ci/ci-build compile
100+
101+
102+
# #########################################################################
103+
# #### Build Packages ####
104+
# #########################################################################
105+
Package:
106+
name: Fedora Packaging
107+
runs-on: ubuntu-latest
108+
container:
109+
# The GitHub runner issue with Mock seems to be fixed now:
110+
# => https://github.com/rpm-software-management/mock/issues/1487
111+
image: fedora:43
112+
options: --privileged --cap-add=SYS_ADMIN
113+
steps:
114+
- uses: actions/checkout@v6
115+
- name: Packaging
116+
shell: bash
117+
run: |
118+
CC=clang CXX=clang++ ARCH= ci/ci-setup package
119+
CC=clang CXX=clang++ ARCH= ci/ci-install package
120+
CC=clang CXX=clang++ ARCH= ci/ci-build package
121+
ci/ci-test

0 commit comments

Comments
 (0)