name: Raspberry Pi Linux Kernel [Build] on: workflow_call: inputs: BRANCH: required: true VERSION: required: true jobs: job: name: Raspberry Pi Linux Build strategy: matrix: include: - defconfig: bcm2711_defconfig cicd: cicd.bookworm codename: bookworm gcc: aarch64-linux-gnu-gcc-12 image: rpt revision: v8 runs-on: ${{ matrix.runner }} steps: - name: Repository [Clone] uses: https://github.com/actions/checkout@v6 - name: Environment id: environment run: | UNITS=$(/usr/bin/nproc --all) /usr/bin/echo "UNITS=${UNITS}" >> "${GITHUB_OUTPUT}" /usr/bin/echo "Set Variable 'UNITS' to '${UNITS}'" - name: Linux Sources [Artifact Download] uses: https://gitea.com/actions/download-artifact@v3-node20 with: name: linux-sources-${{ inputs.version }}.tar.gz - name: Linux Sources [Extract] run: | /usr/bin/install --directory --verbose './linux-sources' /usr/bin/tar --directory="./linux-sources" --extract --gzip --file="./linux-sources-${{ inputs.version }}.tar.gz" --verbose - name: Linux Sources [Prepare] if: matrix.defconfig != 'bcm2711_defconfig' && matrix.defconfig != 'bcm2712_defconfig' env: DEFCONFIG: ${{ matrix.defconfig }} run: | /usr/bin/mv --verbose "./config/${{ matrix.defconfig }}-${{ inputs.branch }}" "./linux-sources/arch/arm64/configs/${DEFCONFIG%%-*}" - name: Linux Sources [Configuration] run: | /usr/bin/make --directory='./linux-sources' --jobs="${{ steps.environment.outputs.units }}" CC="${{ matrix.gcc }}" "${{ matrix.defconfig }}" ./linux-sources/scripts/config --file './linux-sources/.config' --set-str CONFIG_BUILD_SALT +${{ matrix.image }}-rpi-${{ matrix.revision }} ./linux-sources/scripts/config --file './linux-sources/.config' --set-str CONFIG_LD_ORPHAN_WARN_LEVEL error ./linux-sources/scripts/config --file './linux-sources/.config' --set-str CONFIG_LOCALVERSION +${{ matrix.image }}-rpi-${{ matrix.revision }}