version: 1
name: TuxTest rootfs test
description: Test new TuxTest rootfs
jobs:
- name: armv5
  builds:
    - target_arch: arm
      toolchain: gcc-13
      kconfig: [ multi_v5_defconfig ]
  tests:
    - device: qemu-armv5
      rootfs: https://storage.tuxboot.com/buildroot/armv5/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-armv5
      rootfs: https://storage.tuxboot.com/buildroot/armv5/rootfs.ext4.zst
      tests: [ltp-fs_bind]

- name: armv7-arm-lpae
  builds:
    - target_arch: arm
      toolchain: gcc-13
      kconfig: [ defconfig, CONFIG_ARM_LPAE=y ]
  tests:
    - device: qemu-armv7
      rootfs: https://storage.tuxboot.com/buildroot/armv7/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-armv7
      rootfs: https://storage.tuxboot.com/buildroot/armv7/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-armv7
      rootfs: https://storage.tuxboot.com/buildroot/armv7/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: armv7-no-arm-lpae
  builds:
    - target_arch: arm
      toolchain: gcc-13
      kconfig: [ defconfig ]
  tests:
    - device: qemu-armv7
      parameters: { machine.highmem: "off" }
      rootfs: https://storage.tuxboot.com/buildroot/armv7/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-armv7
      parameters: { machine.highmem: "off" }
      rootfs: https://storage.tuxboot.com/buildroot/armv7/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-armv7
      parameters: { machine.highmem: "off" }
      rootfs: https://storage.tuxboot.com/buildroot/armv7/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: armv7be
  builds:
    - target_arch: arm
      toolchain: gcc-13
      kconfig: [ defconfig, CONFIG_CPU_BIG_ENDIAN=y ]
  tests:
    - device: qemu-armv7be
      rootfs: https://storage.tuxboot.com/buildroot/armv7be/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-armv7be
      rootfs: https://storage.tuxboot.com/buildroot/armv7be/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-armv7be
      rootfs: https://storage.tuxboot.com/buildroot/armv7be/rootfs.ext4.zst

- name: arm64
  builds:
    - target_arch: arm64
      toolchain: gcc-13
      kconfig: [ defconfig ]
  tests:
    - device: qemu-arm64
      rootfs: https://storage.tuxboot.com/buildroot/arm64/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-arm64
      rootfs: https://storage.tuxboot.com/buildroot/arm64/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-arm64
      rootfs: https://storage.tuxboot.com/buildroot/arm64/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: arm64be
  builds:
    - target_arch: arm64
      toolchain: gcc-13
      kconfig: [ defconfig, CONFIG_CPU_BIG_ENDIAN=y ]
  tests:
    - device: qemu-arm64be
      rootfs: https://storage.tuxboot.com/buildroot/arm64be/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-arm64be
      rootfs: https://storage.tuxboot.com/buildroot/arm64be/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-arm64be
      rootfs: https://storage.tuxboot.com/buildroot/arm64be/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: i386
  builds:
    - target_arch: i386
      toolchain: gcc-13
      kconfig: [ defconfig ]
  tests:
    - device: qemu-i386
      rootfs: https://storage.tuxboot.com/buildroot/i386/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-i386
      rootfs: https://storage.tuxboot.com/buildroot/i386/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-i386
      rootfs: https://storage.tuxboot.com/buildroot/i386/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: m68k
  builds:
    - target_arch: m68k
      toolchain: gcc-13
      kernel_image: vmlinux
      kconfig: [ virt_defconfig ]
  tests:
    - device: qemu-m68k
      rootfs: https://storage.tuxboot.com/buildroot/m68k/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-m68k
      rootfs: https://storage.tuxboot.com/buildroot/m68k/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-m68k
      rootfs: https://storage.tuxboot.com/buildroot/m68k/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: mips32
  builds:
    - target_arch: mips
      toolchain: gcc-13
      kernel_image: vmlinux
      #kconfig: [ malta_qemu_32r6_defconfig, CONFIG_CPU_LITTLE_ENDIAN=n, CONFIG_PATA_LEGACY=y ]
      kconfig: [ malta_defconfig, https://people.linaro.org/~anders.roxell/tuxrun_mips_defconfig, CONFIG_CPU_LITTLE_ENDIAN=n, CONFIG_PATA_LEGACY=y ]
  tests:
    - device: qemu-mips32
      rootfs: https://storage.tuxboot.com/buildroot/mips32/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-mips32
      rootfs: https://storage.tuxboot.com/buildroot/mips32/rootfs.ext4.zst
      tests: [ltp-fs_bind]

- name: mips32el
  builds:
    - target_arch: mips
      toolchain: gcc-13
      kernel_image: vmlinux
      kconfig: [ malta_qemu_32r6_defconfig, CONFIG_PATA_LEGACY=y ]
  tests:
    - device: qemu-mips32el
      rootfs: https://storage.tuxboot.com/buildroot/mips32el/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-mips32el
      rootfs: https://storage.tuxboot.com/buildroot/mips32el/rootfs.ext4.zst
      tests: [ltp-fs_bind]

- name: mips64
  builds:
    - target_arch: mips
      toolchain: gcc-13
      kernel_image: vmlinux
      kconfig: [ defconfig, https://raw.githubusercontent.com/buildroot/buildroot/refs/heads/master/board/qemu/mips64-malta/linux.config, CONFIG_CPU_LITTLE_ENDIAN=n ]
  tests:
    - device: qemu-mips64
      rootfs: https://storage.tuxboot.com/buildroot/mips64/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-mips64
      rootfs: https://storage.tuxboot.com/buildroot/mips64/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-mips64
      rootfs: https://storage.tuxboot.com/buildroot/mips64/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: mips64el
  builds:
    - target_arch: mips
      toolchain: gcc-13
      kernel_image: vmlinux
      kconfig: [ defconfig, https://raw.githubusercontent.com/buildroot/buildroot/refs/heads/master/board/qemu/mips64el-malta/linux.config ]
  tests:
    - device: qemu-mips64el
      rootfs: https://storage.tuxboot.com/buildroot/mips64el/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-mips64el
      rootfs: https://storage.tuxboot.com/buildroot/mips64el/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-mips64el
      rootfs: https://storage.tuxboot.com/buildroot/mips64el/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: ppc32
  builds:
    - target_arch: powerpc
      toolchain: gcc-13
      kernel_image: uImage
      kconfig: [ corenet32_smp_defconfig, https://raw.githubusercontent.com/buildroot/buildroot/refs/heads/master/board/qemu/ppc-e500mc/linux.fragment ]
  tests:
    - device: qemu-ppc32
      rootfs: https://storage.tuxboot.com/buildroot/ppc32/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-ppc32
      rootfs: https://storage.tuxboot.com/buildroot/ppc32/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-ppc32
      rootfs: https://storage.tuxboot.com/buildroot/ppc32/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: ppc64
  builds:
    - target_arch: powerpc
      toolchain: gcc-13
      kernel_image: vmlinux
      kconfig: [ pseries_defconfig, CONFIG_CPU_BIG_ENDIAN=y ]
  tests:
      # split to mutiple runs due to space issue.
    - device: qemu-ppc64
      rootfs: https://storage.tuxboot.com/buildroot/ppc64/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple]
    - device: qemu-ppc64
      rootfs: https://storage.tuxboot.com/buildroot/ppc64/rootfs.ext4.zst
      tests: [ltp-smoke]
    - device: qemu-ppc64
      rootfs: https://storage.tuxboot.com/buildroot/ppc64/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-ppc64
      rootfs: https://storage.tuxboot.com/buildroot/ppc64/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: ppc64le
  builds:
    - target_arch: powerpc
      toolchain: gcc-13
      kernel_image: vmlinux
      kconfig: [ pseries_le_defconfig ]
  tests:
    - device: qemu-ppc64le
      rootfs: https://storage.tuxboot.com/buildroot/ppc64le/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-ppc64le
      rootfs: https://storage.tuxboot.com/buildroot/ppc64le/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-ppc64le
      rootfs: https://storage.tuxboot.com/buildroot/ppc64le/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: riscv32
  builds:
    - target_arch: riscv
      toolchain: gcc-13
      kconfig: [ rv32_defconfig ]
  tests:
  - device: qemu-riscv32
    rootfs: https://storage.tuxboot.com/buildroot/riscv32/rootfs.ext4.zst
    bios: https://storage.tuxboot.com/buildroot/riscv32/fw_jump.elf
    tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]

- name: riscv64
  builds:
    - target_arch: riscv
      toolchain: gcc-13
      kernel_image: Image
      kconfig: [ defconfig ]
  tests:
  - device: qemu-riscv64
    rootfs: https://storage.tuxboot.com/buildroot/riscv64/rootfs.ext4.zst
    tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
  - device: qemu-riscv64
    rootfs: https://storage.tuxboot.com/buildroot/riscv64/rootfs.ext4.zst
    tests: [ltp-fs_bind]
  - device: qemu-riscv64
    rootfs: https://storage.tuxboot.com/buildroot/riscv64/rootfs.ext4.zst
    tests: [ltp-nptl]

- name: s390
  builds:
    - target_arch: s390
      toolchain: gcc-13
      kconfig: [ defconfig ]
  tests:
    - device: qemu-s390
      rootfs: https://storage.tuxboot.com/buildroot/s390/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-s390
      rootfs: https://storage.tuxboot.com/buildroot/s390/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-s390
      rootfs: https://storage.tuxboot.com/buildroot/s390/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: sh
  builds:
    - target_arch: sh
      toolchain: gcc-13
      kconfig: [ defconfig, https://raw.githubusercontent.com/buildroot/buildroot/refs/heads/master/board/qemu/sh4-r2d/linux.config ]
  tests:
    - device: qemu-sh4
      rootfs: https://storage.tuxboot.com/buildroot/sh4/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-sh4
      rootfs: https://storage.tuxboot.com/buildroot/sh4/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-sh4
      rootfs: https://storage.tuxboot.com/buildroot/sh4/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: sparc
  builds:
    - target_arch: sparc
      toolchain: gcc-13
      kernel_image: vmlinux
      kconfig: [ sparc64_defconfig ]
  tests:
    - device: qemu-sparc64
      rootfs: https://storage.tuxboot.com/buildroot/sparc64/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-sparc64
      rootfs: https://storage.tuxboot.com/buildroot/sparc64/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-sparc64
      rootfs: https://storage.tuxboot.com/buildroot/sparc64/rootfs.ext4.zst
      tests: [ltp-nptl]

- name: x86_64
  builds:
    - target_arch: x86_64
      toolchain: gcc-13
      kernel_image: bzImage
      kconfig: [ defconfig ]
  tests:
    - device: qemu-x86_64
      rootfs: https://storage.tuxboot.com/buildroot/x86_64/rootfs.ext4.zst
      tests: [ltp-fcntl-locktests, ltp-fs_perms_simple, ltp-smoke]
    - device: qemu-x86_64
      rootfs: https://storage.tuxboot.com/buildroot/x86_64/rootfs.ext4.zst
      tests: [ltp-fs_bind]
    - device: qemu-x86_64
      rootfs: https://storage.tuxboot.com/buildroot/x86_64/rootfs.ext4.zst
      tests: [ltp-nptl]
