Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/build-daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ jobs:
secrets: inherit
with:
url: ${{ needs.build-daily.outputs.artifacts_url }}
suite: trixie
15 changes: 14 additions & 1 deletion .github/workflows/build-on-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,20 @@ jobs:
name: Event File
path: ${{ github.event_path }}

build-pr:
build:
strategy:
fail-fast: false
matrix:
suite: [trixie, forky]
kernelpackage: [default-ci, linux-image-arm64]
exclude:
- suite: trixie
kernelpackage: linux-image-arm64
- suite: forky
kernelpackage: default-ci
uses: ./.github/workflows/debos.yml
with:
suite: ${{ matrix.suite }}
kernelpackage: ${{ matrix.kernelpackage }}
schema-check:
uses: ./.github/workflows/lava-schema-check.yml
13 changes: 13 additions & 0 deletions .github/workflows/build-on-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,20 @@ permissions:

jobs:
build-daily:
strategy:
fail-fast: false
matrix:
suite: [trixie, forky]
kernelpackage: [default-ci, linux-image-arm64]
exclude:
- suite: trixie
kernelpackage: linux-image-arm64
- suite: forky
kernelpackage: default-ci
uses: ./.github/workflows/debos.yml
with:
suite: ${{ matrix.suite }}
kernelpackage: ${{ matrix.kernelpackage }}
schema-check:
uses: ./.github/workflows/lava-schema-check.yml
test:
Expand Down
38 changes: 23 additions & 15 deletions .github/workflows/debos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: Build debos recipe
on:
workflow_call:
inputs:
suite:
description: Distribution suite (e.g. trixie, forky)
type: string
default: trixie
overlays:
description: List of overlays to use
type: string
Expand All @@ -13,10 +17,7 @@ on:
linux-image-arm64) or name of a EFS kernel package directory
(e.g. efs/mainline)
type: string
# the package name will be passed to APT which interprets the trailing
# plus sign in the package name as a request to install the package, so
# use two plus signs
default: linux-image-6.16.7-qcom1++
default: default-ci
debos_extra_args:
description: Extra arguments to pass to debos (e.g. -t dtb:qcom/some.dtb)
type: string
Expand All @@ -40,11 +41,12 @@ env:
# image build id; used for SBOM generation
BUILD_ID: ${{ github.run_id }}-${{ github.run_attempt }}
KERNEL_PACKAGE: ${{ inputs.kernelpackage }}
DEBOS_EXTRA_ARGS: ${{ inputs.debos_extra_args }}
DEBOS_EXTRA_ARGS: -t suite:${{ inputs.suite }} ${{ inputs.debos_extra_args }}
PREFIX: ${{ inputs.suite }}

jobs:
build-debos:
name: Build and upload debos recipes
name: Build and upload debos recipes (${{ inputs.suite }})
outputs:
url: ${{ steps.upload_artifacts_s3.outputs.url }}
runs-on: [self-hosted, qcom-u2404, arm64]
Expand Down Expand Up @@ -101,11 +103,17 @@ jobs:
run: |
set -ux
kernel_package="$KERNEL_PACKAGE"
# if kernel package is from EFS, determine actual package name
case "$kernel_package" in
# if kernel package is from EFS, determine actual package name
efs/*)
kernel_package="$(find local-apt-repo/kernel -type f -name 'linux-image-*' -not -name '*dbg*'|xargs -n1 basename|cut -f1 -d_)"
;;
;;
default-ci)
# the package name will be passed to APT which interprets the trailing
# plus sign in the package name as a request to install the package, so
# use two plus signs
kernel_package="linux-image-6.16.7-qcom1++"
;;
esac

debos \
Expand Down Expand Up @@ -141,13 +149,13 @@ jobs:
# create a directory for the current run
dir="debos-artifacts"
mkdir -v "${dir}"
# compress output files into the staging directory
gzip -c rootfs.tar >"${dir}/rootfs.tar.gz"
gzip -c disk-ufs.img >"${dir}/disk-ufs.img.gz"
gzip -c disk-sdcard.img >"${dir}/disk-sdcard.img.gz"
cp -av dtbs.tar.gz "${dir}"
# compress output files directly into the staging directory
gzip -c rootfs.tar >"${dir}/${PREFIX}-rootfs.tar.gz"
gzip -c disk-ufs.img >"${dir}/${PREFIX}-disk-ufs.img.gz"
gzip -c disk-sdcard.img >"${dir}/${PREFIX}-disk-sdcard.img.gz"
cp -av dtbs.tar.gz "${dir}/${PREFIX}-dtbs.tar.gz"
# create tarballs with support for all UFS and all eMMC boards
scripts/bundle-flash-dirs.sh "${dir}"
scripts/bundle-flash-dirs.sh "${dir}" "${PREFIX}"
# generate sha256sums for all artifacts
(cd "${dir}" && sha256sum * | tee sha256sums.txt)

Expand Down Expand Up @@ -202,7 +210,7 @@ jobs:
dir="sboms"
mkdir -v sboms
for f in rootfs-sbom.*; do
gzip -c "$f" >"${dir}/${f}.gz"
gzip -c "$f" >"${dir}/${PREFIX}-${f}.gz"
done

- name: Upload SBOMs as private artifacts
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/lava-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
url:
required: true
type: string
suite:
description: Distribution suite (e.g. trixie, forky)
type: string
default: trixie

# implicitely set all other permissions to none
permissions:
Expand All @@ -17,6 +21,7 @@ permissions:
env:
BUILD_URL: ${{ inputs.url }}
LAVA_CI: ci/lava/
SUITE: ${{ inputs.suite }}

jobs:
prepare-job-list:
Expand Down Expand Up @@ -83,6 +88,7 @@ jobs:
-e "s|{{BUILD_DOWNLOAD_URL}}|${BUILD_DOWNLOAD_URL}|g" \
-e "s|{{BUILD_FILE_NAME}}|${BUILD_FILE_NAME}|g" \
-e "s|{{DEVICE_TYPE}}|${DEVICE_TYPE}|g" \
-e "s|{{SUITE}}|${SUITE}|g" \
-e "s|{{GITHUB_REPOSITORY}}|${GITHUB_REPOSITORY}|g" \
-e "s|{{GITHUB_RUN_ATTEMPT}}|${GITHUB_RUN_ATTEMPT}|g" \
-e "s|{{GITHUB_RUN_ID}}|${GITHUB_RUN_ID}|g" \
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,3 +150,4 @@ jobs:
secrets: inherit
with:
url: ${{ needs.debos-linux-deb.outputs.artifacts_url }}
suite: trixie
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ A few options are provided in the debos recipes; for the root filesystem recipe:
- `kernelpackage`: name of the kernel package to install from apt; defaults to
`Debian’s linux-image-arm64`. Can (and should) be set to `none` if you are
providing local kernel package instead.
- `suite`: Debian suite to use, defaults to `trixie`.

For the image recipe:

Expand Down
2 changes: 1 addition & 1 deletion ci/lava/qcs6490-rb3gen2-vision-kit/boot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ actions:
image:
headers:
Authorization: Q_S3_TOKEN
url: "{{BUILD_DOWNLOAD_URL}}/flash-ufs.tar.gz"
url: "{{BUILD_DOWNLOAD_URL}}/{{SUITE}}-flash-ufs.tar.gz"
postprocess:
docker:
image: ghcr.io/foundriesio/lava-lmp-sign:main
Expand Down
2 changes: 1 addition & 1 deletion ci/lava/qrb2210-rb1/boot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ actions:
image:
headers:
Authorization: Q_S3_TOKEN
url: "{{BUILD_DOWNLOAD_URL}}/flash-emmc.tar.gz"
url: "{{BUILD_DOWNLOAD_URL}}/{{SUITE}}-flash-emmc.tar.gz"
postprocess:
docker:
image: ghcr.io/foundriesio/lava-lmp-sign:main
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading