130 lines
5.0 KiB
YAML
130 lines
5.0 KiB
YAML
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
update-and-build:
|
|
runs-on: build-server
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: https://github.com/actions/checkout@v4
|
|
|
|
- name: Update radiantwave
|
|
run: |
|
|
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
|
nix flake update radiantwave
|
|
|
|
- name: Prepare output directory
|
|
run: mkdir -p /home/user/radiantwave
|
|
|
|
# --- Kiosk ISO ---
|
|
- name: Build kiosk ISO
|
|
run: |
|
|
export NIXPKGS_ALLOW_UNFREE=1
|
|
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
|
nix build -L --impure .#nixosConfigurations.kiosk-iso.config.system.build.isoImage
|
|
|
|
- name: Rename kiosk ISO
|
|
run: |
|
|
ISO_DATE=$(date +%Y-%m-%d_%H-%M-%S)
|
|
FILENAME="radiantwave-iso-${ISO_DATE}.iso"
|
|
cp -L result/iso/*.iso "/home/user/radiantwave/${FILENAME}"
|
|
echo "KIOSK_ISO_FILENAME=${FILENAME}" >> "$GITHUB_ENV"
|
|
|
|
- name: Copy kiosk ISO to fileserver
|
|
run: |
|
|
scp "/home/user/radiantwave/${KIOSK_ISO_FILENAME}" \
|
|
radiantwave-infra:/mnt/infrastructure_data/files/images/
|
|
|
|
- name: Cleanup kiosk ISO
|
|
run: rm -f "/home/user/radiantwave/${KIOSK_ISO_FILENAME}"
|
|
|
|
# --- Android Kiosk ISO ---
|
|
- name: Build android kiosk ISO
|
|
run: |
|
|
export NIXPKGS_ALLOW_UNFREE=1
|
|
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
|
nix build -L --impure .#nixosConfigurations.android-iso.config.system.build.isoImage
|
|
|
|
- name: Rename android kiosk ISO
|
|
run: |
|
|
ISO_DATE=$(date +%Y-%m-%d_%H-%M-%S)
|
|
FILENAME="radiantwave-android-iso-${ISO_DATE}.iso"
|
|
cp -L result/iso/*.iso "/home/user/radiantwave/${FILENAME}"
|
|
echo "ANDROID_ISO_FILENAME=${FILENAME}" >> "$GITHUB_ENV"
|
|
|
|
- name: Copy android kiosk ISO to fileserver
|
|
run: |
|
|
scp "/home/user/radiantwave/${ANDROID_ISO_FILENAME}" \
|
|
radiantwave-infra:/mnt/infrastructure_data/files/images/
|
|
|
|
- name: Cleanup android kiosk ISO
|
|
run: rm -f "/home/user/radiantwave/${ANDROID_ISO_FILENAME}"
|
|
|
|
# --- Commercial Kiosk ISO ---
|
|
- name: Build commercial kiosk ISO
|
|
run: |
|
|
export NIXPKGS_ALLOW_UNFREE=1
|
|
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
|
nix build -L --impure .#nixosConfigurations.commercial-iso.config.system.build.isoImage
|
|
|
|
- name: Rename commercial kiosk ISO
|
|
run: |
|
|
ISO_DATE=$(date +%Y-%m-%d_%H-%M-%S)
|
|
FILENAME="radiantwave-commercial-iso-${ISO_DATE}.iso"
|
|
cp -L result/iso/*.iso "/home/user/radiantwave/${FILENAME}"
|
|
echo "COMMERCIAL_ISO_FILENAME=${FILENAME}" >> "$GITHUB_ENV"
|
|
|
|
- name: Copy commercial kiosk ISO to fileserver
|
|
run: |
|
|
scp "/home/user/radiantwave/${COMMERCIAL_ISO_FILENAME}" \
|
|
radiantwave-infra:/mnt/infrastructure_data/files/images/
|
|
|
|
- name: Cleanup commercial kiosk ISO
|
|
run: rm -f "/home/user/radiantwave/${COMMERCIAL_ISO_FILENAME}"
|
|
|
|
# --- Raspberry Pi image (disabled for speed, for now) ---
|
|
# - name: Build Raspberry Pi image
|
|
# run: |
|
|
# export NIXPKGS_ALLOW_UNFREE=1
|
|
# . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
|
# nix build -L --impure .#nixosConfigurations.radiantwavekiosk-rpi.config.system.build.sdImage
|
|
#
|
|
# - name: Rename Raspberry Pi image
|
|
# run: |
|
|
# ISO_DATE=$(date +%Y-%m-%d_%H-%M-%S)
|
|
# FILENAME="radiantwave-rpi-${ISO_DATE}.img.zst"
|
|
# cp -L result/sd-image/*.img.zst "/home/user/radiantwave/${FILENAME}"
|
|
# echo "RPI_IMAGE_FILENAME=${FILENAME}" >> "$GITHUB_ENV"
|
|
#
|
|
# - name: Copy Raspberry Pi image to fileserver
|
|
# run: |
|
|
# scp "/home/user/radiantwave/${RPI_IMAGE_FILENAME}" \
|
|
# radiantwave-infra:/mnt/infrastructure_data/files/images/
|
|
#
|
|
# - name: Cleanup Raspberry Pi image
|
|
# run: rm -f "/home/user/radiantwave/${RPI_IMAGE_FILENAME}"
|
|
|
|
- name: Commit updated flake.lock
|
|
run: |
|
|
git config user.email "ci@radiantwavetech.com"
|
|
git config user.name "RadiantWave CI"
|
|
git remote set-url origin https://oauth2:${{ secrets.GIT_TOKEN }}@gitea.radiantwavetech.com/RadiantWaveTech/kioskconfig.git
|
|
|
|
git add flake.lock
|
|
git commit -m "chore: update radiantwave-dev to latest" || echo "Nothing to commit"
|
|
git push
|
|
|
|
# - name: Notify
|
|
# if: always()
|
|
# uses: https://github.com/dawidd6/action-send-mail@v3
|
|
# with:
|
|
# server_address: smtp.gmail.com
|
|
# server_port: 587
|
|
# username: ${{ secrets.MAIL_USERNAME }}
|
|
# password: ${{ secrets.MAIL_PASSWORD }}
|
|
# subject: "${{ job.status == 'success' && '✅' || '❌' }} KioskConfig main build ${{ job.status }}"
|
|
# to: nclack@radiantwavetech.com
|
|
# from: ci@radiantwavetech.com
|
|
# body: "KioskConfig main build ${{ job.status }} — radiantwave updated and artifacts copied."
|