Add Gitea Actions workflows
CI for both apps and the Rust crates, image publishing to GHCR, and the arm64 kiosk package build.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
name: Release
|
||||
|
||||
# Container images are published separately by publish-images.yml. This builds the kiosk
|
||||
# package for the Pi, which needs an arm64 toolchain rather than a Docker build.
|
||||
on:
|
||||
push:
|
||||
tags: ["v*"]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
kiosk-deb:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
platforms: arm64
|
||||
|
||||
- name: Build the kiosk bundle for arm64
|
||||
run: |
|
||||
docker run --rm --platform linux/arm64 \
|
||||
-v "$PWD:/work" -w /work \
|
||||
arm64v8/debian:bookworm \
|
||||
bash -eux -c '
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends \
|
||||
curl ca-certificates unzip build-essential file wget \
|
||||
libwebkit2gtk-4.1-dev libgtk-3-dev librsvg2-dev \
|
||||
libayatana-appindicator3-dev libssl-dev patchelf pkg-config
|
||||
|
||||
curl -fsSL https://sh.rustup.rs | sh -s -- -y --profile minimal
|
||||
. "$HOME/.cargo/env"
|
||||
|
||||
curl -fsSL https://bun.sh/install | bash
|
||||
export PATH="$HOME/.bun/bin:$PATH"
|
||||
|
||||
bun install
|
||||
export PATH="/work/node_modules/.bin:$PATH"
|
||||
bun run build:kiosk
|
||||
'
|
||||
|
||||
- name: Collect artifacts
|
||||
run: |
|
||||
mkdir -p dist
|
||||
find apps/kiosk-client/src-tauri/target/release/bundle -name '*.deb' -exec cp {} dist/ \;
|
||||
find apps/kiosk-client/src-tauri/target/release/bundle -name '*.AppImage' -exec cp {} dist/ \;
|
||||
ls -lh dist
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: pistation-kiosk-arm64
|
||||
path: dist/*
|
||||
if-no-files-found: error
|
||||
Reference in New Issue
Block a user