powerpc/kernel+qemu #33
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: powerpc/kernel+qemu | |
# Controls when the action will run. | |
on: | |
# run at 2:30am AEST == 4:30pm UTC | |
schedule: | |
- cron: '30 16 * * *' | |
# This allows the build to be triggered manually via the github UI. | |
workflow_dispatch: | |
jobs: | |
kernel: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
defconfig: [ppc64_defconfig, mpc885_ads_defconfig] | |
image: [fedora-40, korg-5.5.0] | |
include: | |
# ppc64le_guest_defconfig | |
- subarch: ppc64le | |
defconfig: ppc64le_guest_defconfig | |
image: fedora-40 | |
- subarch: ppc64le | |
defconfig: ppc64le_guest_defconfig | |
image: korg-5.5.0 | |
# ppc44x | |
- defconfig: ppc44x_defconfig | |
merge_config: /linux/arch/powerpc/configs/ppc44x-qemu.config | |
image: fedora-40 | |
- defconfig: ppc44x_defconfig | |
merge_config: /linux/arch/powerpc/configs/ppc44x-qemu.config | |
image: korg-5.5.0 | |
# corenet64_smp | |
- defconfig: corenet64_smp_defconfig | |
image: fedora-40 | |
- defconfig: corenet64_smp_defconfig | |
image: korg-5.5.0 | |
# g5 | |
- defconfig: g5_defconfig | |
merge_config: /linux/arch/powerpc/configs/g5-qemu.config | |
image: fedora-40 | |
- defconfig: g5_defconfig | |
merge_config: /linux/arch/powerpc/configs/g5-qemu.config | |
image: korg-5.5.0 | |
# pmac32 | |
- defconfig: pmac32_defconfig | |
merge_config: /linux/arch/powerpc/configs/pmac32-qemu.config | |
image: fedora-40 | |
- defconfig: pmac32_defconfig | |
merge_config: /linux/arch/powerpc/configs/pmac32-qemu.config | |
image: korg-5.5.0 | |
- defconfig: corenet32_smp_defconfig | |
image: fedora-40 | |
env: | |
ARCH: powerpc | |
TARGET: kernel | |
CCACHE: 1 | |
SUBARCH: ${{ matrix.subarch }} | |
IMAGE: ${{ matrix.image }} | |
DEFCONFIG: ${{ matrix.defconfig }} | |
MERGE_CONFIG: ${{ matrix.merge_config }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Register problem matchers | |
run: | | |
echo "::add-matcher::.github/problem-matchers/compiler-source.json" | |
echo "::add-matcher::.github/problem-matchers/compiler-non-source.json" | |
- name: Load ccache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.ccache | |
key: ${{ matrix.image }}-${{ matrix.subarch }}-${{ matrix.defconfig }} | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build | |
run: | | |
mkdir -p ~/.ccache | |
./arch/powerpc/tools/ci-build.sh | |
- name: Archive artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.defconfig }}-${{ matrix.image }} | |
path: | | |
~/output/vmlinux | |
~/output/.config | |
~/output/System.map | |
~/output/modules.tar.bz2 | |
~/output/arch/powerpc/boot/zImage | |
~/output/arch/powerpc/boot/uImage | |
~/output/include/config/kernel.release | |
boot: | |
runs-on: ubuntu-latest | |
needs: kernel | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- defconfig: ppc64le_guest_defconfig | |
machine: pseries+p8+tcg | |
machine_2: pseries+p9+tcg | |
packages: qemu-system-ppc64 | |
rootfs: ppc64le-rootfs.cpio.gz | |
old-image: korg-5.5.0 | |
new-image: fedora-40 | |
- defconfig: ppc64le_guest_defconfig | |
machine: powernv+p8+tcg | |
machine_2: powernv+p9+tcg | |
packages: qemu-system-ppc64 | |
rootfs: ppc64le-rootfs.cpio.gz | |
old-image: korg-5.5.0 | |
new-image: fedora-40 | |
- defconfig: ppc44x_defconfig | |
machine: 44x | |
packages: qemu-system-ppc | |
rootfs: ppc-rootfs.cpio.gz | |
old-image: korg-5.5.0 | |
new-image: fedora-40 | |
- defconfig: corenet64_smp_defconfig | |
machine: ppc64e | |
machine_2: ppc64e+compat | |
packages: qemu-system-ppc64 | |
rootfs: ppc64-novsx-rootfs.cpio.gz ppc-rootfs.cpio.gz | |
old-image: korg-5.5.0 | |
new-image: fedora-40 | |
- defconfig: g5_defconfig | |
machine: g5 | |
packages: qemu-system-ppc64 openbios-ppc | |
rootfs: ppc64-rootfs.cpio.gz | |
old-image: korg-5.5.0 | |
new-image: fedora-40 | |
- defconfig: pmac32_defconfig | |
machine: mac99 | |
packages: qemu-system-ppc openbios-ppc | |
rootfs: ppc-rootfs.cpio.gz | |
old-image: korg-5.5.0 | |
new-image: fedora-40 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: linuxppc/ci-scripts | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download root disk | |
run: make -C root-disks ${{ matrix.rootfs }} | |
- name: APT update | |
run: sudo apt update | |
- name: Install dependencies | |
run: sudo apt install -y ${{ matrix.packages }} python3-pexpect python3-termcolor python3-yaml | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ${{ matrix.defconfig }}-${{ matrix.new-image }} | |
- name: Run qemu-${{ matrix.machine }} with ${{ matrix.new-image }} build kernel | |
run: ./scripts/boot/qemu-${{ matrix.machine }} | |
- name: Run qemu-${{ matrix.machine_2 }} with ${{ matrix.new-image }} build kernel | |
run: ./scripts/boot/qemu-${{ matrix.machine_2 }} | |
if: matrix.machine_2 != '' | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ${{ matrix.defconfig }}-${{ matrix.old-image }} | |
- name: Run qemu-${{ matrix.machine }} with ${{ matrix.old-image }} build kernel | |
run: ./scripts/boot/qemu-${{ matrix.machine }} | |
- name: Run qemu-${{ matrix.machine_2 }} with ${{ matrix.old-image }} build kernel | |
run: ./scripts/boot/qemu-${{ matrix.machine_2 }} | |
if: matrix.machine_2 != '' |