Skip to content

Commit 90abdb7

Browse files
committed
ci: Update compilers & toolchains
Since we now require c++11 compiler, minimum supported compiler versions are gcc-4.8 and clang-3.4. - add aarch64-linux-gnu:gcc-14.2 and arm-linux-gnueabihf:gcc-14.2 (new Arm GNU Toolchain for all architecture profiles) - exclude arm-linux-gnueabihf:gcc-7.4 from ci - replace arm-bcm2708hardfp-linux-gnueabi:gcc-4.7 with arm-bcm2708-linux-gnueabihf:gcc-4.9 - remove mips-openwrt-linux-atheros:12.09 and add mips-openwrt-linux-atheros:24.10 - overhaul compiler coverage in ubuntu jobs, add clang-19 and gcc-14, remove gcc below 4.8 - update docs for build instructions and cross compilation - add macOS 15
1 parent 2e30a89 commit 90abdb7

19 files changed

+151
-84
lines changed

.github/workflows/build.yml

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -96,23 +96,26 @@ jobs:
9696
fail-fast: false
9797
matrix:
9898
include:
99+
- script: linux-arm/aarch64-linux-gnu-gcc-14.2
100+
image: rocstreaming/toolchain-aarch64-linux-gnu:gcc-14.2
101+
99102
- script: linux-arm/aarch64-linux-gnu-gcc-10.3
100103
image: rocstreaming/toolchain-aarch64-linux-gnu:gcc-10.3
101104

102105
- script: linux-arm/aarch64-linux-gnu-gcc-7.4
103106
image: rocstreaming/toolchain-aarch64-linux-gnu:gcc-7.4
104107

108+
- script: linux-arm/arm-linux-gnueabihf-gcc-14.2
109+
image: rocstreaming/toolchain-arm-linux-gnueabihf:gcc-14.2
110+
105111
- script: linux-arm/arm-linux-gnueabihf-gcc-10.3
106112
image: rocstreaming/toolchain-arm-linux-gnueabihf:gcc-10.3
107113

108-
- script: linux-arm/arm-linux-gnueabihf-gcc-7.4
109-
image: rocstreaming/toolchain-arm-linux-gnueabihf:gcc-7.4
110-
111114
- script: linux-arm/arm-linux-gnueabihf-gcc-4.9
112115
image: rocstreaming/toolchain-arm-linux-gnueabihf:gcc-4.9
113116

114-
- script: linux-arm/arm-bcm2708hardfp-linux-gnueabi-gcc-4.7
115-
image: rocstreaming/toolchain-arm-bcm2708hardfp-linux-gnueabi:gcc-4.7
117+
- script: linux-arm/arm-bcm2708-linux-gnueabihf-gcc-4.9
118+
image: rocstreaming/toolchain-arm-bcm2708-linux-gnueabihf:gcc-4.9
116119

117120
name: ${{ matrix.script }}
118121
steps:
@@ -140,11 +143,11 @@ jobs:
140143
fail-fast: false
141144
matrix:
142145
include:
143-
- script: linux-mips/openwrt-linux-musl
144-
image: rocstreaming/toolchain-mips-openwrt-linux-atheros:17.01
146+
- script: linux-mips/openwrt-linux-musl-24.10
147+
image: rocstreaming/toolchain-mips-openwrt-linux-atheros:24.10
145148

146-
- script: linux-mips/openwrt-linux-uclibc
147-
image: rocstreaming/toolchain-mips-openwrt-linux-atheros:12.09
149+
- script: linux-mips/openwrt-linux-musl-17.01
150+
image: rocstreaming/toolchain-mips-openwrt-linux-atheros:17.01
148151

149152
name: ${{ matrix.script }}
150153
steps:
@@ -424,17 +427,21 @@ jobs:
424427
matrix:
425428
include:
426429
- macos-arch: arm64
427-
macos-version: 14
430+
macos-version: 15
428431
script: standard-build
429432

430433
- macos-arch: arm64
431-
macos-version: 14
434+
macos-version: 15
432435
script: build-3rdparty
433436

434437
- macos-arch: arm64
435-
macos-version: 14
438+
macos-version: 15
436439
script: universal-binaries
437440

441+
- macos-arch: arm64
442+
macos-version: 14
443+
script: standard-build
444+
438445
- macos-arch: x86_64
439446
macos-version: 13
440447
script: standard-build

docs/sphinx/building/dependencies.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Build dependencies
99
* - **dependency**
1010
- **comment**
1111

12-
* - gcc >= 4.1 or clang >= 3.4
12+
* - c++11 & c11 compiler: gcc >= 4.8 or clang >= 3.4
1313
- required
1414

1515
* - python >= 2.6

docs/sphinx/building/user_cookbook.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ Raspberry Pi 1 and Zero (32-bit)
273273

274274
.. note::
275275

276-
`toolchain image <https://hub.docker.com/r/rocstreaming/toolchain-arm-bcm2708hardfp-linux-gnueabi>`__
276+
`toolchain image <https://hub.docker.com/r/rocstreaming/toolchain-arm-bcm2708-linux-gnueabihf>`__
277277

278278
.. code::
279279
@@ -283,14 +283,14 @@ Raspberry Pi 1 and Zero (32-bit)
283283
284284
# build libraries and tools
285285
$ docker run -t --rm -u "${UID}" -v "${PWD}:${PWD}" -w "${PWD}" \
286-
rocstreaming/toolchain-arm-bcm2708hardfp-linux-gnueabi:gcc-4.7 \
286+
rocstreaming/toolchain-arm-bcm2708-linux-gnueabihf:gcc-4.9 \
287287
scons -Q \
288-
--host=arm-bcm2708hardfp-linux-gnueabi \
288+
--host=arm-linux-gnueabihf \
289289
--build-3rdparty=all
290290
291291
# install Roc binaries
292-
$ scp ./bin/arm-bcm2708hardfp-linux-gnueabi/roc-{recv,send,copy} <address>:/usr/bin
293-
$ scp ./bin/arm-bcm2708hardfp-linux-gnueabi/libroc.so.*.* <address>:/usr/lib
292+
$ scp ./bin/arm-linux-gnueabihf/roc-{recv,send,copy} <address>:/usr/bin
293+
$ scp ./bin/arm-linux-gnueabihf/libroc.so.*.* <address>:/usr/lib
294294
295295
# install Roc dependencies
296296
$ ssh <address> apt-get install libasound2 libpulse0 libltdl7 libatomic1

docs/sphinx/development/continuous_integration.rst

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ Linux native
3131
=================================== ===================== ============= ==================================
3232
Image Base image Architecture Compilers
3333
=================================== ===================== ============= ==================================
34-
rocstreaming/env-ubuntu:24.04 ubuntu:24.04 x86_64 gcc-13, clang-15, clang-17
35-
rocstreaming/env-ubuntu:22.04 ubuntu:22.04 x86_64 gcc-11, gcc-12, clang-11, clang-14
36-
rocstreaming/env-ubuntu:20.04 ubuntu:20.04 x86_64 gcc-8, gcc-10, clang-8, clang-10
37-
rocstreaming/env-ubuntu:18.04 ubuntu:18.04 x86_64 gcc-6, clang-6
38-
rocstreaming/env-ubuntu:16.04 ubuntu:16.04 x86_64 gcc-4.8, clang-3.7
39-
rocstreaming/env-ubuntu:14.04 ubuntu:14.04 x86_64 gcc-4.4, clang-3.4
34+
rocstreaming/env-ubuntu:24.04 ubuntu:24.04 x86_64 gcc-14, gcc-13, clang-19, clang-16
35+
rocstreaming/env-ubuntu:22.04 ubuntu:22.04 x86_64 gcc-11, clang-14
36+
rocstreaming/env-ubuntu:20.04 ubuntu:20.04 x86_64 gcc-9, clang-10
37+
rocstreaming/env-ubuntu:18.04 ubuntu:18.04 x86_64 gcc-7, clang-6
38+
rocstreaming/env-ubuntu:16.04 ubuntu:16.04 x86_64 gcc-5, clang-3.8
39+
rocstreaming/env-ubuntu:14.04 ubuntu:14.04 x86_64 gcc-4.8, clang-3.4
4040
rocstreaming/env-ubuntu:nolibs ubuntu:latest x86_64 distro default
4141
rocstreaming/env-debian debian:stable x86_64 distro default
4242
rocstreaming/env-fedora fedora:latest x86_64 distro default
@@ -48,15 +48,14 @@ rocstreaming/env-alpine alpine:latest x86_64 distro d
4848
Linux toolchains
4949
----------------
5050

51-
============================================================== ============= ====== ==========================
52-
Image Architecture Libc Compilers
53-
============================================================== ============= ====== ==========================
54-
rocstreaming/toolchain-aarch64-linux-gnu:gcc-7.4 armv8-a glibc gcc-7.4, gcc-10.3
55-
rocstreaming/toolchain-arm-linux-gnueabihf:gcc-4.9 armv7-a glibc gcc-4.9, gcc-7.4, gcc-10.3
56-
rocstreaming/toolchain-arm-bcm2708hardfp-linux-gnueabi:gcc-4.7 armv6 glibc gcc-4.7
57-
rocstreaming/toolchain-mips-openwrt-linux-atheros:17.01 mips32 24Kc musl gcc-5.4
58-
rocstreaming/toolchain-mips-openwrt-linux-atheros:12.09 mips32 24Kc uClibc gcc-4.6
59-
============================================================== ============= ====== ==========================
51+
=================================================== ============= ====== ===========================
52+
Image Architecture Libc Compilers
53+
=================================================== ============= ====== ===========================
54+
rocstreaming/toolchain-aarch64-linux-gnu armv8-a glibc gcc-14.2, gcc-10.3, gcc-7.4
55+
rocstreaming/toolchain-arm-linux-gnueabihf armv7-a glibc gcc-14.2, gcc-10.3, gcc-4.9
56+
rocstreaming/toolchain-arm-bcm2708-linux-gnueabihf armv6 glibc gcc-4.9
57+
rocstreaming/toolchain-mips-openwrt-linux-atheros mips32 24Kc musl gcc-13.3, gcc-5.4
58+
=================================================== ============= ====== ===========================
6059

6160
Android toolchains
6261
------------------
@@ -71,13 +70,13 @@ rocstreaming/toolchain-linux-android:ndk21 21-29 armeabi-v7a, arm64-v8a, x
7170
Full Android environment
7271
------------------------
7372

74-
========================================== ===============================
75-
Image JDK
76-
========================================== ===============================
77-
rocstreaming/env-android:jdk15 openjdk:15.0.2-jdk-slim-buster
78-
rocstreaming/env-android:jdk11 openjdk:11.0.7-jdk-slim-buster
79-
rocstreaming/env-android:jdk8 openjdk:8u252-jdk-slim-buster
80-
========================================== ===============================
73+
=============================== ===============================
74+
Image JDK
75+
=============================== ===============================
76+
rocstreaming/env-android:jdk15 openjdk:15.0.2-jdk-slim-buster
77+
rocstreaming/env-android:jdk11 openjdk:11.0.7-jdk-slim-buster
78+
rocstreaming/env-android:jdk8 openjdk:8u252-jdk-slim-buster
79+
=============================== ===============================
8180

8281
How Docker images are built
8382
===========================
@@ -109,31 +108,31 @@ You can build an image(s) locally using:
109108

110109
.. code::
111110
112-
./make.sh [OPTIONS...] [IMAGE[:TAG]...]
111+
./make.py [OPTIONS...] [IMAGE[:TAG]...]
113112
114113
For example, to build all tags of ``env-ubuntu`` image:
115114

116115
.. code::
117116
118-
./make.sh env-ubuntu
117+
./make.py env-ubuntu
119118
120119
To build all tags of ``env-fedora`` image and two specific tags of ``env-ubuntu`` image:
121120

122121
.. code::
123122
124-
./make.sh env-fedora env-ubuntu:20.04 env-ubuntu:22.04
123+
./make.py env-fedora env-ubuntu:20.04 env-ubuntu:22.04
125124
126125
To build all images:
127126

128127
.. code::
129128
130-
./make.sh
129+
./make.py
131130
132131
For the full list of available options, run:
133132

134133
.. code::
135134
136-
./make.sh --help
135+
./make.py --help
137136
138137
Running CI steps locally
139138
========================

0 commit comments

Comments
 (0)