Skip to content

Commit 1adff04

Browse files
authored
Merge pull request #350 from gagath/debian-unstable
Multi-series Debian support
2 parents 874cb4c + d433eed commit 1adff04

16 files changed

Lines changed: 170 additions & 85 deletions

File tree

.github/workflows/build-daily.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,4 @@ jobs:
2828
secrets: inherit
2929
with:
3030
url: ${{ needs.build-daily.outputs.artifacts_url }}
31+
suite: trixie

.github/workflows/build-on-pr.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,20 @@ jobs:
2121
name: Event File
2222
path: ${{ github.event_path }}
2323

24-
build-pr:
24+
build:
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
suite: [trixie, forky]
29+
kernelpackage: [default-ci, linux-image-arm64]
30+
exclude:
31+
- suite: trixie
32+
kernelpackage: linux-image-arm64
33+
- suite: forky
34+
kernelpackage: default-ci
2535
uses: ./.github/workflows/debos.yml
36+
with:
37+
suite: ${{ matrix.suite }}
38+
kernelpackage: ${{ matrix.kernelpackage }}
2639
schema-check:
2740
uses: ./.github/workflows/lava-schema-check.yml

.github/workflows/build-on-push.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,20 @@ permissions:
1313

1414
jobs:
1515
build-daily:
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
suite: [trixie, forky]
20+
kernelpackage: [default-ci, linux-image-arm64]
21+
exclude:
22+
- suite: trixie
23+
kernelpackage: linux-image-arm64
24+
- suite: forky
25+
kernelpackage: default-ci
1626
uses: ./.github/workflows/debos.yml
27+
with:
28+
suite: ${{ matrix.suite }}
29+
kernelpackage: ${{ matrix.kernelpackage }}
1730
schema-check:
1831
uses: ./.github/workflows/lava-schema-check.yml
1932
test:

.github/workflows/debos.yml

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ name: Build debos recipe
33
on:
44
workflow_call:
55
inputs:
6+
suite:
7+
description: Distribution suite (e.g. trixie, forky)
8+
type: string
9+
default: trixie
610
overlays:
711
description: List of overlays to use
812
type: string
@@ -13,10 +17,7 @@ on:
1317
linux-image-arm64) or name of a EFS kernel package directory
1418
(e.g. efs/mainline)
1519
type: string
16-
# the package name will be passed to APT which interprets the trailing
17-
# plus sign in the package name as a request to install the package, so
18-
# use two plus signs
19-
default: linux-image-6.16.7-qcom1++
20+
default: default-ci
2021
debos_extra_args:
2122
description: Extra arguments to pass to debos (e.g. -t dtb:qcom/some.dtb)
2223
type: string
@@ -40,11 +41,12 @@ env:
4041
# image build id; used for SBOM generation
4142
BUILD_ID: ${{ github.run_id }}-${{ github.run_attempt }}
4243
KERNEL_PACKAGE: ${{ inputs.kernelpackage }}
43-
DEBOS_EXTRA_ARGS: ${{ inputs.debos_extra_args }}
44+
DEBOS_EXTRA_ARGS: -t suite:${{ inputs.suite }} ${{ inputs.debos_extra_args }}
45+
PREFIX: ${{ inputs.suite }}
4446

4547
jobs:
4648
build-debos:
47-
name: Build and upload debos recipes
49+
name: Build and upload debos recipes (${{ inputs.suite }})
4850
outputs:
4951
url: ${{ steps.upload_artifacts_s3.outputs.url }}
5052
runs-on: [self-hosted, qcom-u2404, arm64]
@@ -101,11 +103,17 @@ jobs:
101103
run: |
102104
set -ux
103105
kernel_package="$KERNEL_PACKAGE"
104-
# if kernel package is from EFS, determine actual package name
105106
case "$kernel_package" in
107+
# if kernel package is from EFS, determine actual package name
106108
efs/*)
107109
kernel_package="$(find local-apt-repo/kernel -type f -name 'linux-image-*' -not -name '*dbg*'|xargs -n1 basename|cut -f1 -d_)"
108-
;;
110+
;;
111+
default-ci)
112+
# the package name will be passed to APT which interprets the trailing
113+
# plus sign in the package name as a request to install the package, so
114+
# use two plus signs
115+
kernel_package="linux-image-6.16.7-qcom1++"
116+
;;
109117
esac
110118
111119
debos \
@@ -141,13 +149,13 @@ jobs:
141149
# create a directory for the current run
142150
dir="debos-artifacts"
143151
mkdir -v "${dir}"
144-
# compress output files into the staging directory
145-
gzip -c rootfs.tar >"${dir}/rootfs.tar.gz"
146-
gzip -c disk-ufs.img >"${dir}/disk-ufs.img.gz"
147-
gzip -c disk-sdcard.img >"${dir}/disk-sdcard.img.gz"
148-
cp -av dtbs.tar.gz "${dir}"
152+
# compress output files directly into the staging directory
153+
gzip -c rootfs.tar >"${dir}/${PREFIX}-rootfs.tar.gz"
154+
gzip -c disk-ufs.img >"${dir}/${PREFIX}-disk-ufs.img.gz"
155+
gzip -c disk-sdcard.img >"${dir}/${PREFIX}-disk-sdcard.img.gz"
156+
cp -av dtbs.tar.gz "${dir}/${PREFIX}-dtbs.tar.gz"
149157
# create tarballs with support for all UFS and all eMMC boards
150-
scripts/bundle-flash-dirs.sh "${dir}"
158+
scripts/bundle-flash-dirs.sh "${dir}" "${PREFIX}"
151159
# generate sha256sums for all artifacts
152160
(cd "${dir}" && sha256sum * | tee sha256sums.txt)
153161
@@ -202,7 +210,7 @@ jobs:
202210
dir="sboms"
203211
mkdir -v sboms
204212
for f in rootfs-sbom.*; do
205-
gzip -c "$f" >"${dir}/${f}.gz"
213+
gzip -c "$f" >"${dir}/${PREFIX}-${f}.gz"
206214
done
207215
208216
- name: Upload SBOMs as private artifacts

.github/workflows/lava-test.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ on:
66
url:
77
required: true
88
type: string
9+
suite:
10+
description: Distribution suite (e.g. trixie, forky)
11+
type: string
12+
default: trixie
913

1014
# implicitely set all other permissions to none
1115
permissions:
@@ -17,6 +21,7 @@ permissions:
1721
env:
1822
BUILD_URL: ${{ inputs.url }}
1923
LAVA_CI: ci/lava/
24+
SUITE: ${{ inputs.suite }}
2025

2126
jobs:
2227
prepare-job-list:
@@ -83,6 +88,7 @@ jobs:
8388
-e "s|{{BUILD_DOWNLOAD_URL}}|${BUILD_DOWNLOAD_URL}|g" \
8489
-e "s|{{BUILD_FILE_NAME}}|${BUILD_FILE_NAME}|g" \
8590
-e "s|{{DEVICE_TYPE}}|${DEVICE_TYPE}|g" \
91+
-e "s|{{SUITE}}|${SUITE}|g" \
8692
-e "s|{{GITHUB_REPOSITORY}}|${GITHUB_REPOSITORY}|g" \
8793
-e "s|{{GITHUB_RUN_ATTEMPT}}|${GITHUB_RUN_ATTEMPT}|g" \
8894
-e "s|{{GITHUB_RUN_ID}}|${GITHUB_RUN_ID}|g" \

.github/workflows/linux.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,3 +150,4 @@ jobs:
150150
secrets: inherit
151151
with:
152152
url: ${{ needs.debos-linux-deb.outputs.artifacts_url }}
153+
suite: trixie

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ A few options are provided in the debos recipes; for the root filesystem recipe:
150150
- `kernelpackage`: name of the kernel package to install from apt; defaults to
151151
`Debian’s linux-image-arm64`. Can (and should) be set to `none` if you are
152152
providing local kernel package instead.
153+
- `suite`: Debian suite to use, defaults to `trixie`.
153154

154155
For the image recipe:
155156

ci/lava/qcs6490-rb3gen2-vision-kit/boot.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ actions:
44
image:
55
headers:
66
Authorization: Q_S3_TOKEN
7-
url: "{{BUILD_DOWNLOAD_URL}}/flash-ufs.tar.gz"
7+
url: "{{BUILD_DOWNLOAD_URL}}/{{SUITE}}-flash-ufs.tar.gz"
88
postprocess:
99
docker:
1010
image: ghcr.io/foundriesio/lava-lmp-sign:main

ci/lava/qrb2210-rb1/boot.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ actions:
44
image:
55
headers:
66
Authorization: Q_S3_TOKEN
7-
url: "{{BUILD_DOWNLOAD_URL}}/flash-emmc.tar.gz"
7+
url: "{{BUILD_DOWNLOAD_URL}}/{{SUITE}}-flash-emmc.tar.gz"
88
postprocess:
99
docker:
1010
image: ghcr.io/foundriesio/lava-lmp-sign:main

debos-recipes/overlays/apt-sources/etc/apt/sources.list.d/debian.sources

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)