303 lines
11 KiB
YAML
303 lines
11 KiB
YAML
name: Test_Build
|
|
|
|
# Controls when the workflow will run
|
|
on:
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
inputs:
|
|
name:
|
|
description: 'App Name, PR #, or zip URL'
|
|
required: true
|
|
default: ''
|
|
buster:
|
|
description: 'Build on PiOS Buster'
|
|
required: true
|
|
type: boolean
|
|
bullseye:
|
|
description: 'Build on PiOS Bullseye'
|
|
required: true
|
|
type: boolean
|
|
architecture:
|
|
type: choice
|
|
description: 'For Buster/Bullseye, test on 32bit, 64bit, or Both if available'
|
|
options:
|
|
- 32bit
|
|
- 64bit
|
|
- Both
|
|
bookworm_64:
|
|
description: 'Build on PiOS Bookworm Beta'
|
|
required: true
|
|
type: boolean
|
|
bionic_64:
|
|
description: 'Build on Switchroot Ubuntu 5.1.1 Bionic 64bit'
|
|
required: true
|
|
type: boolean
|
|
focal_64:
|
|
description: 'Build on Nvidia Jetpack 35.3.1 Focal 64bit'
|
|
required: true
|
|
type: boolean
|
|
jammy_64:
|
|
description: 'Build on RPI Ubuntu Jammy 64bit'
|
|
required: true
|
|
type: boolean
|
|
l4t_jammy_64:
|
|
description: 'Build on L4T Ubuntu Jammy 64bit'
|
|
required: true
|
|
type: boolean
|
|
lunar_64:
|
|
description: 'Build on RPI Ubuntu Lunar 64bit'
|
|
required: true
|
|
type: boolean
|
|
|
|
run-name: Testing ${{ inputs.name }}
|
|
|
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
|
jobs:
|
|
buster-32bit:
|
|
# The type of runner that the job will run on
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.buster && ( inputs.architecture == '32bit' || inputs.architecture == 'Both' ) }}
|
|
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Test installing app on buster armhf
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
# this is a buster armhf image
|
|
base_image: https://downloads.raspberrypi.org/raspios_oldstable_armhf/images/raspios_oldstable_armhf-2023-05-03/2023-05-03-raspios-buster-armhf.img.xz
|
|
# bind mount the directory so any changes propogate to outside the chroot
|
|
bind_mount_repository: yes
|
|
|
|
# give the image more space
|
|
image_additional_mb: 5000
|
|
|
|
# set CPUs to use
|
|
cpu: cortex-a7:cortex-a72
|
|
|
|
# use custom /proc/cpuinfo
|
|
cpu_info: cpuinfo/raspberrypi_4b
|
|
|
|
# user runner name as default path
|
|
copy_repository_path: /home/runner/pi-apps
|
|
|
|
# export github env back to outside the chroot
|
|
export_github_env: yes
|
|
|
|
import_github_env: true
|
|
|
|
# set shell to bash
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
bullseye-32bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.bullseye && ( inputs.architecture == '32bit' || inputs.architecture == 'Both' ) }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Test installing app on bullseye armhf
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2023-05-03/2023-05-03-raspios-bullseye-armhf.img.xz
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
cpu: cortex-a7:cortex-a72
|
|
cpu_info: cpuinfo/raspberrypi_4b
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
buster-64bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.buster && ( inputs.architecture == '64bit' || inputs.architecture == 'Both' ) }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Test installing app on buster arm64
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2021-05-28/2021-05-07-raspios-buster-arm64.zip
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
cpu: cortex-a7:cortex-a72
|
|
cpu_info: cpuinfo/raspberrypi_4b
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
bullseye-64bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.bullseye && ( inputs.architecture == '64bit' || inputs.architecture == 'Both' ) }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Test installing app on bullseye arm64
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-05-03/2023-05-03-raspios-bullseye-arm64.img.xz
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
cpu: cortex-a7:cortex-a72
|
|
cpu_info: cpuinfo/raspberrypi_4b
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
bookworm-64bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.bookworm_64 }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Test installing app on bookworm arm64
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: ${{ secrets.RPIOS_BOOKWORM_URL }}
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
# disable image caching to not leak the URL
|
|
enable_image_caching: no
|
|
cpu: cortex-a7:cortex-a72
|
|
cpu_info: cpuinfo/raspberrypi_4b
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
bionic-64bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.bionic_64 }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Test installing app on bionic arm64
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: https://download.switchroot.org/ubuntu/switchroot-ubuntu-5.1.1-2023-06-12.7z
|
|
# add special arguments for switchroot image format
|
|
bootpartition:
|
|
rootpartition: 1
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
# use TX1 ARM CPU cores
|
|
cpu: cortex-a7:cortex-a57
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
focal-64bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.focal_64 }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Clear up some disk space
|
|
run: |
|
|
# Workaround to provide additional free space for testing.
|
|
# https://github.com/actions/virtual-environments/issues/2840
|
|
sudo rm -rf /usr/share/dotnet
|
|
sudo rm -rf /opt/ghc
|
|
sudo rm -rf "/usr/local/share/boost"
|
|
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
|
- name: Test installing app on focal arm64
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v3.1/sd_card_b49/jp511-xnx-sd-card-image.zip
|
|
bootpartition:
|
|
rootpartition: 1
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
enable_image_caching: no
|
|
cpu: cortex-a7:cortex-a72
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
jammy-64bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.jammy_64 }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Test installing app on jammy arm64
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: https://cdimage.ubuntu.com/releases/22.04.2/release/ubuntu-22.04.2-preinstalled-desktop-arm64+raspi.img.xz
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
cpu: cortex-a7:cortex-a72
|
|
cpu_info: cpuinfo/raspberrypi_4b
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
l4t-jammy-64bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.l4t_jammy_64 }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Test installing app on L4T jammy arm64
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: https://github.com/theofficialgman/testing/releases/download/gmans-releases/theofficialgman-ubuntu-jammy-5.1.1-2023-08-19.7z
|
|
# add special arguments for switchroot image format
|
|
bootpartition:
|
|
rootpartition: 1
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
# use TX1 ARM CPU cores
|
|
cpu: cortex-a7:cortex-a57
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|
|
|
|
lunar-64bit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ inputs.lunar_64 }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Test installing app on lunar arm64
|
|
uses: theofficialgman/arm-runner-action@v12
|
|
with:
|
|
base_image: https://cdimage.ubuntu.com/releases/23.04/release/ubuntu-23.04-preinstalled-desktop-arm64+raspi.img.xz
|
|
bind_mount_repository: yes
|
|
image_additional_mb: 5000
|
|
cpu: cortex-a7:cortex-a72
|
|
cpu_info: cpuinfo/raspberrypi_4b
|
|
copy_repository_path: /home/runner/pi-apps
|
|
export_github_env: yes
|
|
import_github_env: true
|
|
shell: /bin/bash
|
|
commands: |
|
|
export name="${{ inputs.name }}"
|
|
./.github/workflows/test_build_commands.sh
|