Skip to content

Commit 86d305b

Browse files
firefox: update CI
Originally the CI jobs were running for all supported Yocto releases, 4 arches and 2 libc implementations, all tested with x11 only. This is taking a long time already, and adding a single new dimension to the test matrix would double the execution time. Change the logic a bit: still test all Yocto releases and 4 arches, but for each build pick a random libc implementation (musl, glibc) and a random display system also (x11 or wayland). Though on a very short term this might shrink the test coverage somewhat, on the long run it should bring wider coverage than the previous state. Note: arm32+musl+wayland testing on wrynose and master branches disabled, because it seems that core-image-weston is broken with this config. YP bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=16334 Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
1 parent 415abc6 commit 86d305b

2 files changed

Lines changed: 20 additions & 27 deletions

File tree

.github/workflows/firefox.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,28 @@ jobs:
2929
matrix:
3030
yocto_version: [scarthgap, wrynose, master]
3131
ff_version: [esr, latest]
32-
libc_flavour: [glibc, musl]
3332
arch: [arm, aarch64, riscv, x86-64]
3433
runs-on: [self-hosted, firefox]
3534
container:
3635
image: skandigraun/yocto:latest
3736
volumes:
3837
- yocto:/yocto
38+
- cocto:/cocto
3939
steps:
4040
- run: |
41+
libc_list="glibc musl"
42+
display_list="x11 wayland"
43+
libc=$(echo $libc_list | tr ' ' '\n' | shuf -n1)
44+
display_system=$(echo $display_list | tr ' ' '\n' | shuf -n1)
45+
# avoid arm32+musl+wayland combo, because core-image-weston is broken:
46+
# https://bugzilla.yoctoproject.org/show_bug.cgi?id=16334
47+
# (It works on Scarthgap though)
48+
if [ "${{ matrix.yocto_version }}" = "master" -o "${{ matrix.yocto_version }}" = "wrynose" ]; then
49+
while [ "${{ matrix.arch }}" = "arm" -a "${libc}" = "musl" -a "${display_system}" = "wayland" ]; do
50+
libc=$(echo $libc_list | tr ' ' '\n' | shuf -n1)
51+
display_system=$(echo $display_list | tr ' ' '\n' | shuf -n1)
52+
done
53+
fi
4154
mkdir -p /yocto/${{ matrix.yocto_version }}
4255
cd /yocto/${{ matrix.yocto_version }}
4356
rm -rf meta-browser meta-firefox-test
@@ -52,7 +65,7 @@ jobs:
5265
git -C meta-browser checkout $GH_REV
5366
# clone the test repo
5467
git clone https://github.com/OldManYellsAtCloud/meta-firefox-test.git
55-
./meta-firefox-test/scripts/build.sh ${{ matrix.yocto_version}} ${{ matrix.arch }} ${{ matrix.ff_version }} ${{ matrix.libc_flavour}}
68+
./meta-firefox-test/scripts/build.sh ${{ matrix.yocto_version }} ${{ matrix.arch }} ${{ matrix.ff_version }} ${libc} ${display_system}
5669
test:
5770
if: ${{ github.repository_owner == 'OSSystems' }}
5871
runs-on: [self-hosted, firefox]
@@ -61,9 +74,8 @@ jobs:
6174
matrix:
6275
yocto_version: [scarthgap, wrynose, master]
6376
ff_version: [esr, latest]
64-
libc_flavour: [glibc, musl]
6577
arch: [arm, aarch64, riscv, x86-64]
6678
steps:
6779
- run: |
6880
cd /yocto/${{ matrix.yocto_version }}
69-
./meta-firefox-test/scripts/test.sh ${{ matrix.yocto_version}} ${{ matrix.arch }} ${{ matrix.ff_version }} ${{ matrix.libc_flavour}}
81+
./meta-firefox-test/scripts/test.sh ${{ matrix.yocto_version}} ${{ matrix.arch }} ${{ matrix.ff_version }}

meta-firefox/README.md

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,10 @@
11
## Build and test status:
22

3+
[![Firefox build- and smoke-test](https://github.com/OSSystems/meta-browser/actions/workflows/firefox.yml/badge.svg?branch=master)](https://github.com/OSSystems/meta-browser/actions/workflows/firefox.yml)
34

4-
### Glibc
5-
6-
| x | aarch64 | arm | riscv64 | x86-64 |
7-
| ---- | ---- | ---- | ---- | ---- |
8-
| Scarthgap - 140.12.0esr | ![](https://sarvari.me/meta-browser/badges/scarthgap/aarch64/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/aarch64/glibc/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/arm/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/arm/glibc/140.12.0esr/test) |![](https://sarvari.me/meta-browser/badges/scarthgap/riscv/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/riscv/glibc/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/x86-64/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/x86-64/glibc/140.12.0esr/test) |
9-
| Scarthgap - 152.0.1 | ![](https://sarvari.me/meta-browser/badges/scarthgap/aarch64/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/aarch64/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/arm/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/arm/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/riscv/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/riscv/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/x86-64/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/x86-64/glibc/152.0.1/test) |
10-
| Wrynose - 140.12.0esr | ![](https://sarvari.me/meta-browser/badges/wrynose/aarch64/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/aarch64/glibc/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/arm/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/arm/glibc/140.12.0esr/test) |![](https://sarvari.me/meta-browser/badges/wrynose/riscv/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/riscv/glibc/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/x86-64/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/x86-64/glibc/140.12.0esr/test) |
11-
| Wrynose - 152.0.1 | ![](https://sarvari.me/meta-browser/badges/wrynose/aarch64/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/aarch64/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/arm/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/arm/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/riscv/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/riscv/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/x86-64/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/x86-64/glibc/152.0.1/test) |
12-
| Master - 140.12.0esr | ![](https://sarvari.me/meta-browser/badges/master/aarch64/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/aarch64/glibc/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/master/arm/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/arm/glibc/140.12.0esr/test) |![](https://sarvari.me/meta-browser/badges/master/riscv/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/riscv/glibc/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/master/x86-64/glibc/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/x86-64/glibc/140.12.0esr/test) |
13-
| Master - 152.0.1 | ![](https://sarvari.me/meta-browser/badges/master/aarch64/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/aarch64/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/master/arm/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/arm/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/master/riscv/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/riscv/glibc/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/master/x86-64/glibc/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/x86-64/glibc/152.0.1/test) |
14-
15-
16-
### musl-libc
17-
18-
| x | aarch64 | arm | riscv64 | x86-64 |
19-
| ---- | ---- | ---- | ---- | ---- |
20-
| Scarthgap - 140.12.0esr | ![](https://sarvari.me/meta-browser/badges/scarthgap/aarch64/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/aarch64/musl/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/arm/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/arm/musl/140.12.0esr/test) |![](https://sarvari.me/meta-browser/badges/scarthgap/riscv/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/riscv/musl/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/x86-64/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/x86-64/musl/140.12.0esr/test) |
21-
| Scarthgap - 152.0.1 | ![](https://sarvari.me/meta-browser/badges/scarthgap/aarch64/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/aarch64/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/arm/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/arm/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/riscv/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/riscv/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/scarthgap/x86-64/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/scarthgap/x86-64/musl/152.0.1/test) |
22-
| Wrynose - 140.12.0esr | ![](https://sarvari.me/meta-browser/badges/wrynose/aarch64/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/aarch64/musl/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/arm/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/arm/musl/140.12.0esr/test) |![](https://sarvari.me/meta-browser/badges/wrynose/riscv/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/riscv/musl/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/x86-64/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/x86-64/musl/140.12.0esr/test) |
23-
| Wrynose - 152.0.1 | ![](https://sarvari.me/meta-browser/badges/wrynose/aarch64/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/aarch64/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/arm/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/arm/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/riscv/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/riscv/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/wrynose/x86-64/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/wrynose/x86-64/musl/152.0.1/test) |
24-
| Master - 140.12.0esr | ![](https://sarvari.me/meta-browser/badges/master/aarch64/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/aarch64/musl/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/master/arm/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/arm/musl/140.12.0esr/test) |![](https://sarvari.me/meta-browser/badges/master/riscv/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/riscv/musl/140.12.0esr/test) | ![](https://sarvari.me/meta-browser/badges/master/x86-64/musl/140.12.0esr/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/x86-64/musl/140.12.0esr/test) |
25-
| Master - 152.0.1 | ![](https://sarvari.me/meta-browser/badges/master/aarch64/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/aarch64/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/master/arm/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/arm/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/master/riscv/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/riscv/musl/152.0.1/test) | ![](https://sarvari.me/meta-browser/badges/master/x86-64/musl/152.0.1/build) <br/> ![](https://sarvari.me/meta-browser/badges/master/x86-64/musl/152.0.1/test) |
26-
5+
All compatible Yocto releases are tested explicitly for each PR, along
6+
with multiple libc implementations (glibc/musl) and display systems (x11/wayland),
7+
for multiple CPU platforms.
278

289
OpenEmbedded/Yocto BSP layer for Firefox Browser
2910
================================================

0 commit comments

Comments
 (0)