Skip to content

Create main.yml

Create main.yml #4

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
- name: raspi
script: ./install_pi.sh
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/photon_libcam_builder.img
key: ${{ hashFiles('**/*.yml') }}
- uses: pguyot/arm-runner-action@HEAD
id: install_deps
if: steps.cache.outputs.cache-hit != 'true'
with:
# we don't want to optimize as it's two-stage
optimize_image: no
image_additional_mb: 1500
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
commands: ${{ matrix.script }}
- name: Move and rename image with dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: |
export IMAGE=photonvision_$(git describe --tags --match=v*)_${{ matrix.name }}.img
mv ${{ steps.install_deps.outputs.image }} $RUNNER_TEMP/$IMAGE
tar -cJf $IMAGE.tar.xz $RUNNER_TEMP/$IMAGE
- uses: actions/upload-artifact@master
with:
name: photon-image-${{ matrix.name }}
path: "*.tar.xz"