- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
82 lines
3.3 KiB
YAML
82 lines
3.3 KiB
YAML
name: build
|
|
|
|
on:
|
|
push: {}
|
|
pull_request: {}
|
|
# allow rebuilding without a push
|
|
workflow_dispatch: {}
|
|
|
|
jobs:
|
|
build:
|
|
name: meta-rauc Build
|
|
# run on self-hosted runner for the main repo or if vars.BUILD_RUNS_ON is set
|
|
runs-on: >-
|
|
${{
|
|
(vars.BUILD_RUNS_ON != '' && fromJSON(vars.BUILD_RUNS_ON)) ||
|
|
(github.repository == 'rauc/meta-rauc' && fromJSON('["self-hosted", "forrest", "build"]')) ||
|
|
'ubuntu-20.04'
|
|
}}
|
|
# abort if it seems that we're rebuilding too much
|
|
timeout-minutes: 120
|
|
steps:
|
|
- name: Install required packages
|
|
run: |
|
|
sudo apt-get -q -y --no-install-recommends install diffstat
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: meta-rauc
|
|
- name: Clone poky
|
|
run: git clone --shared --reference-if-able /srv/shared-git/poky.git -b scarthgap https://github.com/yoctoproject/poky.git
|
|
- name: Clone meta-openembedded
|
|
run: git clone --shared --reference-if-able /srv/shared-git/meta-openembedded.git -b scarthgap https://github.com/openembedded/meta-openembedded.git
|
|
- name: Initialize build directory
|
|
run: |
|
|
source poky/oe-init-build-env build
|
|
bitbake-layers add-layer ../meta-rauc
|
|
if [ -f ~/.yocto/auto.conf ]; then
|
|
cp ~/.yocto/auto.conf conf/
|
|
else
|
|
echo 'SSTATE_MIRRORS = "file://.* https://github-runner.pengutronix.de/sstate-cache/PATH"' >> conf/auto.conf
|
|
echo 'BB_SIGNATURE_HANDLER = "OEBasicHash"' >> conf/auto.conf
|
|
echo 'BB_HASHSERVE = ""' >> conf/auto.conf
|
|
echo 'OPKGBUILDCMD = "opkg-build -Z gzip -a -1n"' >> conf/auto.conf
|
|
echo 'INHERIT += "rm_work"' >> conf/auto.conf
|
|
fi
|
|
echo 'DISTRO_FEATURES:remove = "alsa bluetooth usbgadget usbhost wifi nfs zeroconf pci 3g nfc x11 opengl ptest wayland vulkan"' >> conf/local.conf
|
|
- name: Build rauc, rauc-native
|
|
run: |
|
|
source poky/oe-init-build-env build
|
|
bitbake rauc rauc-native
|
|
- name: Build rauc-hawkbit-updater
|
|
run: |
|
|
source poky/oe-init-build-env build
|
|
bitbake rauc-hawkbit-updater
|
|
- name: Build dt-utils
|
|
run: |
|
|
source poky/oe-init-build-env build
|
|
bitbake dt-utils
|
|
- name: Build casync, casync-native
|
|
run: |
|
|
source poky/oe-init-build-env build
|
|
bitbake-layers add-layer ../meta-openembedded/meta-oe
|
|
bitbake-layers add-layer ../meta-openembedded/meta-python
|
|
bitbake-layers add-layer ../meta-openembedded/meta-networking
|
|
bitbake-layers add-layer ../meta-openembedded/meta-filesystems
|
|
bitbake casync casync-native
|
|
- name: Build rauc-hawkbit
|
|
run: |
|
|
source poky/oe-init-build-env build
|
|
bitbake-layers add-layer ../meta-openembedded/meta-python
|
|
bitbake rauc-hawkbit
|
|
- name: Cache Data
|
|
env:
|
|
CACHE_KEY: ${{ secrets.YOCTO_CACHE_KEY }}
|
|
if: ${{ env.CACHE_KEY }}
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "$CACHE_KEY" >> ~/.ssh/id_ed25519
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
rsync -rvx --ignore-existing build/downloads yocto-cache: || true
|
|
rsync -rvx --ignore-existing build/sstate-cache yocto-cache: || true
|