Skip to content

Commit 4fbf71c

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 d8607e7 commit 4fbf71c

2 files changed

Lines changed: 19 additions & 27 deletions

File tree

.github/workflows/firefox.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ 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:
@@ -38,6 +37,19 @@ jobs:
3837
- yocto:/yocto
3938
steps:
4039
- run: |
40+
libc_list="glibc musl"
41+
display_list="x11 wayland"
42+
libc=$(echo $libc_list | tr ' ' '\n' | shuf -n1)
43+
display_system=$(echo $display_list | tr ' ' '\n' | shuf -n1)
44+
# avoid arm32+musl+wayland combo, because core-image-weston is broken:
45+
# https://bugzilla.yoctoproject.org/show_bug.cgi?id=16334
46+
# (It works on Scarthgap though)
47+
if [ "${{ matrix.yocto_version }}" = "master" -o "${{ matrix.yocto_version }}" = "wrynose" ]; then
48+
while [ "${{ matrix.arch }}" = "arm" -a "${libc}" = "musl" -a "${display_system}" = "wayland" ]; do
49+
libc=$(echo $libc_list | tr ' ' '\n' | shuf -n1)
50+
display_system=$(echo $display_list | tr ' ' '\n' | shuf -n1)
51+
done
52+
fi
4153
mkdir -p /yocto/${{ matrix.yocto_version }}
4254
cd /yocto/${{ matrix.yocto_version }}
4355
rm -rf meta-browser meta-firefox-test
@@ -52,7 +64,7 @@ jobs:
5264
git -C meta-browser checkout $GH_REV
5365
# clone the test repo
5466
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}}
67+
./meta-firefox-test/scripts/build.sh ${{ matrix.yocto_version }} ${{ matrix.arch }} ${{ matrix.ff_version }} ${libc} ${display_system}
5668
test:
5769
if: ${{ github.repository_owner == 'OSSystems' }}
5870
runs-on: [self-hosted, firefox]
@@ -61,9 +73,8 @@ jobs:
6173
matrix:
6274
yocto_version: [scarthgap, wrynose, master]
6375
ff_version: [esr, latest]
64-
libc_flavour: [glibc, musl]
6576
arch: [arm, aarch64, riscv, x86-64]
6677
steps:
6778
- run: |
6879
cd /yocto/${{ matrix.yocto_version }}
69-
./meta-firefox-test/scripts/test.sh ${{ matrix.yocto_version}} ${{ matrix.arch }} ${{ matrix.ff_version }} ${{ matrix.libc_flavour}}
80+
./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)