Skip to content

Create main.yml

Create main.yml #9

Workflow file for this run

name: Build driver
on:
push:
branches:
- 'master'
- 'releases/**'
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: limelight
script: ./install_limelight.sh
base_image: https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2023-12-11/2023-12-11-raspios-bookworm-arm64-lite.img.xz
- name: raspi
script: ./install_pi.sh
base_image: https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2023-12-11/2023-12-11-raspios-bookworm-arm64-lite.img.xz
name: "Build for ${{ matrix.name }}"
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Fetch tags
run: git fetch --tags --force
# From https://github.com/pguyot/arm-runner-action/blob/main/.github/workflows/test-cache.yml
- uses: actions/cache@v3
id: cache
with:
path: $RUNNER_TEMP/base_system.img
key: ${{ matrix.base_image }}
# Grab if we couldn't find it in the cache
- run: wget -O $RUNNER_TEMP/base_system.img ${{ matrix.base_image }}
if: steps.cache.outputs.cache-hit != 'true'
- uses: pguyot/arm-runner-action@HEAD
id: install_deps
with:
image_additional_mb: 1500
base_image: file://$RUNNER_TEMP/base_system.img
commands: ${{ matrix.script }}
- name: Compress built image
run: |
export IMAGE=photonvision_$(git describe --tags --match=v*)_${{ matrix.name }}.img
mv ${{ steps.install_deps.outputs.image }} $RUNNER_TEMP/$IMAGE
tar -cJf $RUNNER_TEMP/$IMAGE.tar.xz $RUNNER_TEMP/$IMAGE
- uses: actions/upload-artifact@master
with:
name: photon-image-${{ matrix.name }}
path: $RUNNER_TEMP/$IMAGE.tar.xz