Skip to content

Build Linux kernel deb and debos image #2

Build Linux kernel deb and debos image

Build Linux kernel deb and debos image #2

Workflow file for this run

name: Build Linux kernel deb and debos image
on:
# run weekly on Monday at 8:30am
schedule:
- cron: '30 6 * * 1'
# allow manual runs
workflow_dispatch:
# implicitely set all other permissions to none
permissions:
checks: write # test.yml
contents: read # actions/checkout debos.yml test.yml
packages: read # test.yml
pull-requests: write # test.yml
env:
# where results will be posted/hosted
FILESERVER_URL: https://quic-yocto-fileserver-1029608027416.us-central1.run.app
# github runs are only unique per repository and may also be re-run; create a
# build id for the current run
BUILD_ID: ${{ github.repository }}-${{ github.run_id }}-${{ github.run_attempt }}
# cancel in progress builds for this workflow triggered by the same ref
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-linux-deb:
# don't run cron from forks of the main repository or from other branches
if: github.repository == 'qualcomm-linux/qcom-deb-images' && github.ref == 'refs/heads/main'
# for cross-builds
runs-on: [self-hosted, qcom-u2404, amd64]
# alternative for native builds, but overkill to do both
#runs-on: [self-hosted, qcom-u2404, arm64]
container:
image: public.ecr.aws/debian/debian:trixie
volumes:
- /efs/qli/metaqcom/gh-runners/quic-yocto/downloads:/fileserver-downloads
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# make sure we have latest packages first, to get latest fixes, to avoid
# an automated update while we're building, and to prevent version skews
- name: Update OS packages
run: |
set -ux
apt update
apt -y upgrade
apt -y full-upgrade
- name: Build Linux kernel deb
run: |
set -ux
# download arm64 package lists to install cross build-dependencies
if [ "$(dpkg --print-architecture)" != arm64 ]; then
dpkg --add-architecture arm64
apt update
fi
# install build-dependencies; TODO: --no-install-recommends
apt -y install git crossbuild-essential-arm64 make flex bison bc \
libdw-dev libelf-dev libssl-dev libssl-dev:arm64 dpkg-dev \
debhelper-compat kmod python3 rsync coreutils
scripts/build-linux-deb.sh \
kernel-configs/qcom-imsdk.config \
kernel-configs/systemd-boot.config
- name: Stage artifacts for upload
run: |
set -ux
# dcmd from devscripts will be used to parse .changes file
apt -y install --no-install-recommends devscripts
# stage artifacts in a directory
mkdir -v artifacts
cp -av `dcmd *.changes` artifacts
- name: Upload results to fileserver space for downloads
run: |
set -ux
export BUILD_DIR="/fileserver-downloads/${BUILD_ID}"
mkdir -vp "${BUILD_DIR}"
cp -av artifacts/* "${BUILD_DIR}"
# create or update linux-deb-latest symlink
mkdir -vp /fileserver-downloads/qcom-deb-images
ln -fnsv "../${BUILD_ID}" /fileserver-downloads/qcom-deb-images/linux-deb-latest
# perhaps help NFS sync
sync
- name: Upload private artifacts
uses: qualcomm-linux/upload-private-artifact-action@v1
id: upload_artifacts
with:
path: artifacts
debos-mainline-linux:
needs: build-linux-deb
uses: ./.github/workflows/debos.yml
with:
mainline_kernel: true
kernelpackage: linux-image-6.17.0
test-mainline-linux:
uses: ./.github/workflows/test.yml

Check failure on line 106 in .github/workflows/linux.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/linux.yml

Invalid workflow file

error parsing called workflow ".github/workflows/linux.yml" -> "./.github/workflows/test.yml" : failed to fetch workflow: workflow was not found.
needs: debos-mainline-linux
secrets: inherit
with:
url: ${{ needs.debos-mainline-linux.outputs.artifacts_url }}