Skip to content
Draft
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: [linux-image-6.16.7-qcom1++, linux-image-arm64]
exclude:
- suite: trixie
kernelpackage: linux-image-arm64
- suite: forky
kernelpackage: linux-image-6.16.7-qcom1++
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: [linux-image-6.16.7-qcom1++, linux-image-arm64]
exclude:
- suite: trixie
kernelpackage: linux-image-arm64
- suite: forky
kernelpackage: linux-image-6.16.7-qcom1++
uses: ./.github/workflows/debos.yml
with:
suite: ${{ matrix.suite }}
kernelpackage: ${{ matrix.kernelpackage }}
schema-check:
uses: ./.github/workflows/lava-schema-check.yml
test:
Expand Down
26 changes: 16 additions & 10 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 Down Expand Up @@ -40,16 +44,16 @@ 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 }}

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]
container:
image: public.ecr.aws/debian/debian:trixie
image: public.ecr.aws/debian/debian:${{ inputs.suite }}
volumes:
- /efs/qli/qcom-deb-images:/efs
options: --privileged
Expand Down Expand Up @@ -138,16 +142,17 @@ jobs:
- name: Stage debos artifacts for publishing
run: |
set -ux
prefix="${{ inputs.suite }}"
# 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 @@ -199,10 +204,11 @@ jobs:
- name: Stage SBOMs for publishing
run: |
set -ux
prefix="${{ inputs.suite }}"
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
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ FAKEMACHINE_BACKEND = $(shell [ -c /dev/kvm ] && echo kvm || echo qemu)
FAKEMACHINE_OPTS ?= --fakemachine-backend $(FAKEMACHINE_BACKEND)

EXTRA_DEBOS_OPTS ?=
DEBOS_OPTS := $(FAKEMACHINE_OPTS) --memory 1GiB --scratchsize 6GiB $(EXTRA_DEBOS_OPTS)
DEBOS_OPTS := $(FAKEMACHINE_OPTS) --memory 2GiB --scratchsize 10GiB $(EXTRA_DEBOS_OPTS)

# Container support: auto-detect if debos is available, otherwise use container
USE_CONTAINER ?= auto
Expand Down
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