#
# Armbian release template. Auto-generated from image-info.json
#
common-gha-configs:
armbian-gha: &armbian-gha
  runners:
    default: "ubuntu-latest"
    by-name:
      kernel: [ "self-hosted", "Linux", "alfa" ]
      uboot: [ "self-hosted", "Linux", "fast", "X64" ]
      armbian-bsp-cli: [ "X64" ]
    by-name-and-arch:
      rootfs-armhf: [ "ubuntu-latest" ]
      rootfs-arm64: [ "ubuntu-24.04-arm" ]
      rootfs-amd64: [ "self-hosted", "Linux", "X64" ]
      rootfs-riscv64: [ "ubuntu-latest" ]
      rootfs-loong64: [ "self-hosted", "Linux", "X64" ]
      image-armhf: [ "self-hosted", "Linux", 'images', 'X64' ]
      image-arm64: [ "self-hosted", "Linux", 'images', 'ARM64' ]
      image-amd64: [ "self-hosted", "Linux", 'images', "X64" ]
      image-riscv64: [ "self-hosted", "Linux", 'images', "X64" ]
      image-loong64: [ "self-hosted", "Linux", 'images', "X64" ]

lists:
# Nightly builds - fast HDMI (quad-core+ or modern SoCs)
  nightly-fast-hdmi: &nightly-fast-hdmi
  # auto generated section
    - { BOARD: bananapim5pro, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: bananapim7, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: beaglebone-ai64, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: beagleplay, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: beagley-ai, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: bigtreetech-cb2, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: imb3588, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: khadas-edge2, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu,image-output-oowow" }
    - { BOARD: khadas-vim1s, BRANCH: legacy, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu,image-output-oowow" }
    - { BOARD: khadas-vim4, BRANCH: legacy, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu,image-output-oowow" }
    - { BOARD: mba8mpxl, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: mba8mpxl-ras314, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: mekotronics-r58s2, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: nanopct6, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: nanopct6-lts, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: nanopi-m5, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: nanopi-m6, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: nanopi-r3s-lts, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: nanopi-r6s, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: nanopi-r76s, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: odroidm1, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: odroidm2, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: orangepi5, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: orangepi5-plus, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: phytiumpi, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: pocketbeagle2, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: radxa-cm4-io, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: radxa-cm5-io, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: radxa-dragon-q6a, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: radxa-e24c, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: radxa-e25, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: radxa-e54c, BRANCH: vendor }
    - { BOARD: radxa-nio-12l, BRANCH: edge, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: radxa-rock-4d, BRANCH: edge, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: radxa-zero3, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-2a, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-2f, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-3a, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-5-itx, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-5a, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-5b, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-5b-plus, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-5c, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rock-5t, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: rpi4b, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: sk-am62-lp, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: sk-am62-sip, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: sk-am62b, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: sk-am62p, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: sk-am68, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: sk-am69, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: sk-tda4vm, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: tmds62levm, BRANCH: vendor, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
    - { BOARD: uefi-arm64, BRANCH: current, ENABLE_EXTENSIONS: "v4l2loopback-dkms,mesa-vpu" }
  # end of auto generated section

  nightly-slow-hdmi: &nightly-slow-hdmi
  # auto generated section
    - { BOARD: aml-a311d-cc, BRANCH: edge }
    - { BOARD: aml-c400-plus, BRANCH: current }
    - { BOARD: aml-s905d3-cc, BRANCH: current }
    - { BOARD: bananapi, BRANCH: current }
    - { BOARD: bananapicm4io, BRANCH: current }
    - { BOARD: bananapim2plus, BRANCH: current }
    - { BOARD: bananapim2s, BRANCH: current }
    - { BOARD: bananapim4berry, BRANCH: current }
    - { BOARD: bananapim4zero, BRANCH: current }
    - { BOARD: bananapim5, BRANCH: current }
    - { BOARD: bigtreetech-cb1, BRANCH: current }
    - { BOARD: helios64, BRANCH: current }
    - { BOARD: inovato-quadra, BRANCH: current }
    - { BOARD: khadas-vim3, BRANCH: current, ENABLE_EXTENSIONS: "image-output-oowow" }
    - { BOARD: khadas-vim3l, BRANCH: current, ENABLE_EXTENSIONS: "image-output-oowow" }
    - { BOARD: nanopik1plus, BRANCH: current }
    - { BOARD: nanopik2-s905, BRANCH: current }
    - { BOARD: nanopim4v2, BRANCH: current }
    - { BOARD: odroidc1, BRANCH: current }
    - { BOARD: odroidc4, BRANCH: current }
    - { BOARD: odroidhc4, BRANCH: current }
    - { BOARD: odroidn2, BRANCH: current }
    - { BOARD: odroidxu4, BRANCH: current }
    - { BOARD: orangepi3-lts, BRANCH: current }
    - { BOARD: orangepi4-lts, BRANCH: current }
    - { BOARD: orangepione, BRANCH: current }
    - { BOARD: orangepipc2, BRANCH: current }
    - { BOARD: sweet-potato, BRANCH: current }
    - { BOARD: tinkerboard, BRANCH: current }
  # end of auto generated section

  nightly-riscv64: &nightly-riscv64
  # auto generated section
    - { BOARD: bananapif3, BRANCH: current }
    - { BOARD: musebook, BRANCH: legacy }
    - { BOARD: musepipro, BRANCH: current }
  # end of auto generated section

  nightly-loongarch: &nightly-loongarch
  # auto generated section
    - { BOARD: uefi-loong64, BRANCH: current }
  # end of auto generated section

  nightly-headless: &nightly-headless
  # auto generated section
    - { BOARD: clearfogpro, BRANCH: current }
    - { BOARD: espressobin, BRANCH: current }
    - { BOARD: gateway-gz80x, BRANCH: current }
    - { BOARD: helios4, BRANCH: current }
    - { BOARD: mksklipad50, BRANCH: current }
    - { BOARD: nanopi-r4s, BRANCH: current }
    - { BOARD: radxa-e52c, BRANCH: current }
    - { BOARD: rock-s0, BRANCH: current }
    - { BOARD: rockpi-e, BRANCH: current }
    - { BOARD: rockpi-s, BRANCH: current }
    - { BOARD: sakurapi-rk3308b, BRANCH: current }
  # end of auto generated section

# automated lists stop

targets:
  # Debian forky minimal CLI for all boards
  nightly-forky-all:
    enabled: yes
    configs: [ armbian-images ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: forky
      BUILD_MINIMAL: "yes"
      BUILD_DESKTOP: "no"
    items:
      - *nightly-fast-hdmi
      - *nightly-slow-hdmi
      - *nightly-headless
      - *nightly-riscv64
      - *nightly-loongarch

  # Ubuntu resolute GNOME desktop for fast HDMI boards
  nightly-resolute-gnome:
    enabled: yes
    configs: [ armbian-images ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: resolute
      BUILD_MINIMAL: "no"
      BUILD_DESKTOP: "yes"
      DESKTOP_ENVIRONMENT: "gnome"
      DESKTOP_ENVIRONMENT_CONFIG_NAME: "config_base"
      DESKTOP_APPGROUPS_SELECTED: ""
    items:
      - *nightly-fast-hdmi

  # Ubuntu resolute XFCE desktop for slow HDMI boards
  nightly-resolute-xfce:
    enabled: yes
    configs: [ armbian-images ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: resolute
      BUILD_MINIMAL: "no"
      BUILD_DESKTOP: "yes"
      DESKTOP_ENVIRONMENT: "xfce"
      DESKTOP_ENVIRONMENT_CONFIG_NAME: "config_base"
      DESKTOP_APPGROUPS_SELECTED: ""
    items:
      - *nightly-slow-hdmi

  # Ubuntu resolute XFCE desktop for RISC-V boards
  nightly-resolute-riscv64-xfce:
    enabled: yes
    configs: [ armbian-images ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: resolute
      BUILD_MINIMAL: "no"
      BUILD_DESKTOP: "yes"
      DESKTOP_ENVIRONMENT: "xfce"
      DESKTOP_ENVIRONMENT_CONFIG_NAME: "config_base"
      DESKTOP_APPGROUPS_SELECTED: ""
    items:
      - *nightly-riscv64

  # Ubuntu resolute minimal CLI for headless boards
  nightly-resolute-minimal:
    enabled: yes
    configs: [ armbian-images ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: resolute
      BUILD_MINIMAL: "yes"
      BUILD_DESKTOP: "no"
    items:
      - *nightly-headless

  # Manual target additions for nightly builds
  # This content will be appended to the auto-generated targets-release-nightly.yaml

  # Ubuntu stable minimal cloud
  minimal-cli-stable-ubuntu-cloud:
    enabled: yes
    configs: [ armbian-cloud ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: resolute
      BUILD_MINIMAL: "yes"
      BUILD_DESKTOP: "no"
    items:
      - { BOARD: uefi-arm64, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-qcow2" }
      - { BOARD: uefi-x86, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-qcow2" }
      - { BOARD: uefi-arm64, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-vhdx" }
      - { BOARD: uefi-x86, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-vhdx" }

  # Debian unstable minimal cloud
  minimal-cli-unstable-debian-cloud:
    enabled: yes
    configs: [ armbian-cloud ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: forky
      BUILD_MINIMAL: "yes"
      BUILD_DESKTOP: "no"
    items:
      - { BOARD: uefi-arm64, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-qcow2" }
      - { BOARD: uefi-x86, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-qcow2" }
      - { BOARD: uefi-arm64, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-vhdx" }
      - { BOARD: uefi-x86, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-vhdx" }

  # Debian stable minimal cloud (trixie)
  minimal-cli-stable-debian-cloud-trixie:
    enabled: yes
    configs: [ armbian-cloud ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: trixie
      BUILD_MINIMAL: "yes"
      BUILD_DESKTOP: "no"
    items:
      - { BOARD: uefi-arm64, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-qcow2" }
      - { BOARD: uefi-x86, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-qcow2" }
      - { BOARD: uefi-arm64, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-vhdx" }
      - { BOARD: uefi-x86, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-vhdx" }

  # Ubuntu LTS minimal cloud (noble)
  minimal-cli-stable-ubuntu-cloud-noble:
    enabled: yes
    configs: [ armbian-cloud ]
    pipeline:
      gha: *armbian-gha
    build-image: "yes"
    vars:
      RELEASE: noble
      BUILD_MINIMAL: "yes"
      BUILD_DESKTOP: "no"
    items:
      - { BOARD: uefi-arm64, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-qcow2" }
      - { BOARD: uefi-x86, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-qcow2" }
      - { BOARD: uefi-arm64, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-vhdx" }
      - { BOARD: uefi-x86, BRANCH: cloud, ENABLE_EXTENSIONS: "image-output-vhdx" }

