Skip to content

Testing Timeshift

Testing Timeshift #408

Workflow file for this run

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
bookworm:
description: 'Build on PiOS Bookworm'
required: true
type: boolean
architecture:
type: choice
description: 'For Buster/Bullseye/Bookworm, test on 32bit, 64bit, or Both if available'
options:
- 32bit
- 64bit
- Both
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
mantic_64:
description: 'Build on RPI Ubuntu Mantic 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_oldstable_armhf/images/raspios_oldstable_armhf-2023-12-06/2023-12-05-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
bookworm-32bit:
runs-on: ubuntu-latest
if: ${{ inputs.bookworm && ( inputs.architecture == '32bit' || inputs.architecture == 'Both' ) }}
steps:
- uses: actions/checkout@v3
- name: Test installing app on bookworm armhf
uses: theofficialgman/arm-runner-action@v12
with:
base_image: https://downloads.raspberrypi.com/raspios_armhf/images/raspios_armhf-2023-12-06/2023-12-05-raspios-bookworm-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_oldstable_arm64/images/raspios_oldstable_arm64-2023-12-06/2023-12-05-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 && ( inputs.architecture == '64bit' || inputs.architecture == 'Both' ) }}
steps:
- uses: actions/checkout@v3
- name: Test installing app on bookworm arm64
uses: theofficialgman/arm-runner-action@v12
with:
base_image: https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2023-12-06/2023-12-05-raspios-bookworm-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
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/release/ubuntu-22.04.3-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://download.switchroot.org/ubuntu-jammy/theofficialgman-ubuntu-jammy-5.1.2-2023-09-18.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
mantic-64bit:
runs-on: ubuntu-latest
if: ${{ inputs.mantic_64 }}
steps:
- uses: actions/checkout@v3
- name: Test installing app on mantic arm64
uses: theofficialgman/arm-runner-action@v12
with:
base_image: https://cdimage.ubuntu.com/releases/23.10/release/ubuntu-23.10-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