Skip to content

Commit 2aae8dc

Browse files
committed
DO NOT MERGE: Add Github actions CI workflow
* Add build badge to README.md * Add yoe.yml for CI with Github actions Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 parent f630b1d commit 2aae8dc

2 files changed

Lines changed: 92 additions & 0 deletions

File tree

.github/workflows/yoe.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: Yoe Distro CI
2+
3+
on:
4+
# Trigger the workflow on push or pull request,
5+
# but only for the master branch
6+
push:
7+
branches:
8+
- yoe/mut
9+
pull_request:
10+
branches:
11+
- master
12+
jobs:
13+
build:
14+
name: Yoe Build
15+
runs-on: [self-hosted, Linux]
16+
timeout-minutes: 720
17+
steps:
18+
- name: Fetch Repo Name
19+
id: repo-name
20+
run: echo "value=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_OUTPUT
21+
- name: Checkout
22+
uses: actions/checkout@v6
23+
with:
24+
fetch-depth: 0
25+
submodules: recursive
26+
- name: checkout yoe
27+
run: |
28+
git clone --recurse-submodules -j8 -b master https://github.com/YoeDistro/yoe-distro.git yoe
29+
cd yoe
30+
git checkout master
31+
git pull
32+
git submodule update --recursive --init
33+
rm -rf sources/${{ steps.repo-name.outputs.value }}/*
34+
rsync -av --progress --exclude="yoe" --exclude=".git" `pwd`/../ sources/${{ steps.repo-name.outputs.value }}/
35+
- name: Setup
36+
run: |
37+
cd yoe
38+
export DOCKER_REPO=none
39+
export LANG=en_US.UTF-8
40+
export SSTATE_CACHE_DIR=/srv/build/sstate-cache
41+
echo export DOCKER_REPO=none > local.sh
42+
echo export LANG=en_US.UTF-8 >> local.sh
43+
echo export SSTATE_CACHE_DIR=/srv/build/sstate-cache >> local.sh
44+
cp conf/local.conf.sample conf/local.conf
45+
echo SSTATE_DIR = \"$SSTATE_CACHE_DIR\" >> conf/local.conf
46+
echo IMAGE_CLASSES += \"testimage testsdk\" >> conf/local.conf
47+
echo INHERIT += \"report-error rm_work\" >> conf/local.conf
48+
echo ERR_REPORT_SERVER = \"errors.yoctoproject.org\" >> conf/local.conf
49+
echo ERR_REPORT_PORT = \"80\" >> conf/local.conf
50+
echo ERR_REPORT_USERNAME = \"Yoe Distro CI\" >> conf/local.conf
51+
echo ERR_REPORT_EMAIL = \"info@yoedistro.org\" >> conf/local.conf
52+
echo TOOLCHAIN = \"clang\" >> conf/local.conf
53+
echo BB_NUMBER_THREADS = \"16\" >> conf/local.conf
54+
echo PARALLEL_MAKE = \"-j 32\" >> conf/local.conf
55+
echo ZSTD_THREADS = \"8\" >> conf/local.conf
56+
echo XZ_THREADS = \"8\" >> conf/local.conf
57+
echo XZ_MEMLIMIT = \"20%\" >> conf/local.conf
58+
echo CLANGSDK = \"1\" >> conf/local.conf
59+
echo IMAGE_INSTALL:append = \" clang \" >> conf/local.conf
60+
echo SDKMACHINE = \"aarch64\" >> conf/local.conf
61+
/bin/bash -c "sed -i -e 's/PACKAGE_FEED_URI.*$//' conf/site.conf"
62+
/bin/bash -c "sed -i -e 's/SDK_UPDATE_URL.*$//' conf/site.conf"
63+
- name: Build Image
64+
run: |
65+
cd yoe
66+
/bin/bash -c ". ./envsetup.sh qemuarm64 && bitbake yoe-kiosk-image yoe-sdk-image yoe-debug-image"
67+
- name: Build SDK
68+
run: |
69+
cd yoe
70+
/bin/bash -c ". ./envsetup.sh qemuarm64 && bitbake yoe-debug-image -cpopulate_sdk_ext"
71+
- name: Test Image
72+
run: |
73+
cd yoe
74+
export DISPLAY=":0"
75+
echo TESTIMAGE_AUTO:qemuall = \"1\" >> conf/local.conf
76+
/bin/bash -c ". ./envsetup.sh qemuarm64 && bitbake yoe-sdk-image"
77+
- name: Prepare results
78+
run: |
79+
cd yoe
80+
/bin/bash -c ". ./envsetup.sh qemuarm64 && resulttool report build/tmp/log/oeqa"
81+
- name: Upload BitBake logs
82+
if: failure() || always()
83+
uses: actions/upload-artifact@v6
84+
with:
85+
name: bitbake-logs
86+
path: |
87+
yoe/build/tmp/log
88+
- name: Clean shared state
89+
run: |
90+
cd yoe
91+
/bin/bash -c ". ./envsetup.sh qemuarm64 && sstate-cache-management.py -d --remove-orphans -y "

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
[![Yoe Distro CI](https://github.com/YoeDistro/meta-openembedded/actions/workflows/yoe.yml/badge.svg?branch=yoe%2Fmut)](https://github.com/YoeDistro/meta-openembedded/actions/workflows/yoe.yml)
12
Collection of layers for the OE-core universe
23

34
Main layer maintainer: Khem Raj <raj.khem@gmail.com>

0 commit comments

Comments
 (0)