From 339eb5647f5e1584f70b67e08ef4a948476c43c3 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Mon, 19 Jan 2026 19:11:11 +0100 Subject: [PATCH 01/16] Add gh actions building job --- .github/workflows/yocto-build.yml | 54 +++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/yocto-build.yml diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml new file mode 100644 index 0000000000..8ad0cb1fd6 --- /dev/null +++ b/.github/workflows/yocto-build.yml @@ -0,0 +1,54 @@ +name: yocto-build + +on: + workflow_dispatch: + inputs: + image: + description: "BitBake image target to build" + required: false + default: "core-image-minimal" + push: + branches: [master] + +jobs: + build: + runs-on: ubuntu-24.04 + env: + IMAGE: ${{ inputs.image || 'core-image-minimal' }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install host tools + run: | + sudo apt-get update + sudo apt-get install -y \ + chrpath gawk lz4 git python3 python3-pip diffstat texinfo \ + gcc g++ make wget unzip xz-utils cpio file bc bison flex \ + libssl-dev + + - name: Cache downloads and sstate + uses: actions/cache@v4 + with: + path: | + build/downloads + build/sstate-cache + key: ${{ runner.os }}-yocto-${{ hashFiles('build/conf/*.conf', 'meta-myboard/**', 'meta-yocto-bsp/**', 'meta/**') }} + restore-keys: | + ${{ runner.os }}-yocto- + + - name: Build kernel and image + shell: bash + run: | + set -euo pipefail + set -- + source oe-init-build-env build + bitbake -c clean virtual/kernel + bitbake virtual/kernel + bitbake "${IMAGE}" + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: yocto-images + path: build/tmp/deploy/images/ From 3b10df2bc2f1b07645154df93718f6c293de8b15 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 12:45:23 +0100 Subject: [PATCH 02/16] clean up previous builds --- .github/workflows/yocto-build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 8ad0cb1fd6..ec5da45223 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -19,6 +19,10 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Clean previous build images + run: | + rm -rf build/tmp/deploy/images/ + - name: Install host tools run: | sudo apt-get update @@ -43,7 +47,7 @@ jobs: set -euo pipefail set -- source oe-init-build-env build - bitbake -c clean virtual/kernel + bitbake -c cleansstate virtual/kernel bitbake virtual/kernel bitbake "${IMAGE}" From bff4b5737d0c01fe688469b34c811c3b4f46de0b Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 12:46:10 +0100 Subject: [PATCH 03/16] add builds on pull_requests with master --- .github/workflows/yocto-build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index ec5da45223..fffd506333 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -9,6 +9,8 @@ on: default: "core-image-minimal" push: branches: [master] + pull_request: + branches: [master] jobs: build: From 3bafad4a377a979dc5d4703af61d64e34ab57eee Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 12:47:22 +0100 Subject: [PATCH 04/16] change branch to simba --- .github/workflows/yocto-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index fffd506333..52dc18f1b6 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -8,9 +8,9 @@ on: required: false default: "core-image-minimal" push: - branches: [master] + branches: [simba] pull_request: - branches: [master] + branches: [simba] jobs: build: From b43aec179630800afabf12d297e4f6eb8734cf05 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 12:52:02 +0100 Subject: [PATCH 05/16] enhance checkout definition --- .github/workflows/yocto-build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 52dc18f1b6..5a4e0608be 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -19,7 +19,11 @@ jobs: IMAGE: ${{ inputs.image || 'core-image-minimal' }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 + with: + fetch-depth: 0 + recursive: true + submodules: true - name: Clean previous build images run: | From 1e5a94e2be2b6c2c35342bf6ede911f2da7ae0ad Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 12:59:05 +0100 Subject: [PATCH 06/16] set utf-8 locale --- .github/workflows/yocto-build.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 5a4e0608be..1dc1658657 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -33,9 +33,15 @@ jobs: run: | sudo apt-get update sudo apt-get install -y \ - chrpath gawk lz4 git python3 python3-pip diffstat texinfo \ - gcc g++ make wget unzip xz-utils cpio file bc bison flex \ - libssl-dev + build-essential chrpath cpio debianutils diffstat file gawk gcc git \ + iputils-ping libacl1 locales python3 python3-git python3-jinja2 \ + python3-pexpect python3-pip python3-subunit socat texinfo unzip \ + wget xz-utils zstd lz4 bc bison flex libssl-dev + + - name: Ensure en_US.UTF-8 locale + run: | + sudo locale-gen en_US.UTF-8 + sudo update-locale LANG=en_US.UTF-8 - name: Cache downloads and sstate uses: actions/cache@v4 @@ -50,7 +56,7 @@ jobs: - name: Build kernel and image shell: bash run: | - set -euo pipefail + set -eo pipefail set -- source oe-init-build-env build bitbake -c cleansstate virtual/kernel From a5cd0f90403c0a391245c8c9bcc3cabcd25159cd Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:04:09 +0100 Subject: [PATCH 07/16] disable network --- .github/workflows/yocto-build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 1dc1658657..dcb3c2387d 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -6,7 +6,7 @@ on: image: description: "BitBake image target to build" required: false - default: "core-image-minimal" + default: "fc-image" push: branches: [simba] pull_request: @@ -16,7 +16,7 @@ jobs: build: runs-on: ubuntu-24.04 env: - IMAGE: ${{ inputs.image || 'core-image-minimal' }} + IMAGE: ${{ inputs.image || 'fc-image' }} steps: - name: Checkout uses: actions/checkout@v6 @@ -24,6 +24,7 @@ jobs: fetch-depth: 0 recursive: true submodules: true + branch: simba - name: Clean previous build images run: | @@ -59,6 +60,7 @@ jobs: set -eo pipefail set -- source oe-init-build-env build + echo 'BB_NO_NETWORK = "0"' >> conf/local.conf bitbake -c cleansstate virtual/kernel bitbake virtual/kernel bitbake "${IMAGE}" From 468733cbd4b2e08477512fdc7e62a92826694779 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:10:03 +0100 Subject: [PATCH 08/16] export bbserver as an empty var --- .github/workflows/yocto-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index dcb3c2387d..535e937d27 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -59,8 +59,8 @@ jobs: run: | set -eo pipefail set -- + export BBSERVER="" source oe-init-build-env build - echo 'BB_NO_NETWORK = "0"' >> conf/local.conf bitbake -c cleansstate virtual/kernel bitbake virtual/kernel bitbake "${IMAGE}" From 7fee9976cd15acc6eedfc7519a225a830f6431c4 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:16:55 +0100 Subject: [PATCH 09/16] try ubuntu 22.04 --- .github/workflows/yocto-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 535e937d27..afd8eb2364 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -14,7 +14,7 @@ on: jobs: build: - runs-on: ubuntu-24.04 + runs-on: ubuntu-22.04 env: IMAGE: ${{ inputs.image || 'fc-image' }} steps: From d6952c4960b3417dad5e1354ab2e4c35e2a0291f Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:21:32 +0100 Subject: [PATCH 10/16] run on self-hosted --- .github/workflows/yocto-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index afd8eb2364..0788e8a7d4 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -14,7 +14,7 @@ on: jobs: build: - runs-on: ubuntu-22.04 + runs-on: self-hosted env: IMAGE: ${{ inputs.image || 'fc-image' }} steps: From 9e7b7afe981d277b578ac97385d8d820232a14cb Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:28:58 +0100 Subject: [PATCH 11/16] remove host tools installs --- .github/workflows/yocto-build.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 0788e8a7d4..5e8291fcba 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -30,20 +30,6 @@ jobs: run: | rm -rf build/tmp/deploy/images/ - - name: Install host tools - run: | - sudo apt-get update - sudo apt-get install -y \ - build-essential chrpath cpio debianutils diffstat file gawk gcc git \ - iputils-ping libacl1 locales python3 python3-git python3-jinja2 \ - python3-pexpect python3-pip python3-subunit socat texinfo unzip \ - wget xz-utils zstd lz4 bc bison flex libssl-dev - - - name: Ensure en_US.UTF-8 locale - run: | - sudo locale-gen en_US.UTF-8 - sudo update-locale LANG=en_US.UTF-8 - - name: Cache downloads and sstate uses: actions/cache@v4 with: From facf216f30649f5a6c778f53cdb24e044bb1cae6 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:34:42 +0100 Subject: [PATCH 12/16] set up utf-8 locale --- .github/workflows/yocto-build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 5e8291fcba..65f67de1d8 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -30,6 +30,11 @@ jobs: run: | rm -rf build/tmp/deploy/images/ + - name: Set UTF-8 locale for build + run: | + echo "LANG=C.UTF-8" >> "$GITHUB_ENV" + echo "LC_ALL=C.UTF-8" >> "$GITHUB_ENV" + - name: Cache downloads and sstate uses: actions/cache@v4 with: From e0127175662418dad2f67890cf6bc8a3501e1b22 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:36:22 +0100 Subject: [PATCH 13/16] set up it with sudo --- .github/workflows/yocto-build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 65f67de1d8..4d8e05b8ba 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -30,10 +30,10 @@ jobs: run: | rm -rf build/tmp/deploy/images/ - - name: Set UTF-8 locale for build + - name: Ensure en_US.UTF-8 locale run: | - echo "LANG=C.UTF-8" >> "$GITHUB_ENV" - echo "LC_ALL=C.UTF-8" >> "$GITHUB_ENV" + sudo locale-gen en_US.UTF-8 + sudo update-locale LANG=en_US.UTF-8 - name: Cache downloads and sstate uses: actions/cache@v4 From 87696b7115a39f62292340f62ff087407fe842ab Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:41:25 +0100 Subject: [PATCH 14/16] export locale instead --- .github/workflows/yocto-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 4d8e05b8ba..8115f22b12 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -32,8 +32,8 @@ jobs: - name: Ensure en_US.UTF-8 locale run: | - sudo locale-gen en_US.UTF-8 - sudo update-locale LANG=en_US.UTF-8 + export LANG=en_US.UTF-8 + export LC_ALL=en_US.UTF-8 - name: Cache downloads and sstate uses: actions/cache@v4 From 30c265a2ffec46e1242226be555839fae7d035e6 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:44:38 +0100 Subject: [PATCH 15/16] fix exports --- .github/workflows/yocto-build.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 8115f22b12..69a825fab9 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -1,5 +1,4 @@ name: yocto-build - on: workflow_dispatch: inputs: @@ -15,10 +14,15 @@ on: jobs: build: runs-on: self-hosted + env: IMAGE: ${{ inputs.image || 'fc-image' }} + LANG: en_US.UTF-8 + LC_ALL: en_US.UTF-8 + LANGUAGE: en_US.UTF-8 + steps: - - name: Checkout + - name: Checkout repository uses: actions/checkout@v6 with: fetch-depth: 0 @@ -27,13 +31,10 @@ jobs: branch: simba - name: Clean previous build images + shell: bash run: | rm -rf build/tmp/deploy/images/ - - name: Ensure en_US.UTF-8 locale - run: | - export LANG=en_US.UTF-8 - export LC_ALL=en_US.UTF-8 - name: Cache downloads and sstate uses: actions/cache@v4 @@ -45,11 +46,14 @@ jobs: restore-keys: | ${{ runner.os }}-yocto- - - name: Build kernel and image + + - name: Build Yocto image shell: bash run: | set -eo pipefail - set -- + export LANG=en_US.UTF-8 + export LC_ALL=en_US.UTF-8 + export LANGUAGE=en_US.UTF-8 export BBSERVER="" source oe-init-build-env build bitbake -c cleansstate virtual/kernel From a1d8e19f9aceaa19c971d56d33c2abfe7b551593 Mon Sep 17 00:00:00 2001 From: KrzysKond Date: Sat, 28 Feb 2026 13:50:04 +0100 Subject: [PATCH 16/16] add locales install --- .github/workflows/yocto-build.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/yocto-build.yml b/.github/workflows/yocto-build.yml index 69a825fab9..087f165c9d 100644 --- a/.github/workflows/yocto-build.yml +++ b/.github/workflows/yocto-build.yml @@ -35,6 +35,17 @@ jobs: run: | rm -rf build/tmp/deploy/images/ + - name: Ensure locales are installed + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y locales + sudo locale-gen en_US.UTF-8 + sudo update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 + export LANG=en_US.UTF-8 + export LC_ALL=en_US.UTF-8 + export LANGUAGE=en_US.UTF-8 + locale - name: Cache downloads and sstate uses: actions/cache@v4