Add all production builds, and copy to filesever

This commit is contained in:
NeilClack
2026-07-28 08:43:50 -05:00
parent dda2eca121
commit 7f23e7082a
2 changed files with 104 additions and 27 deletions
+27 -27
View File
@@ -6,35 +6,35 @@ jobs:
update-and-build: update-and-build:
runs-on: radiantwave-actions runs-on: radiantwave-actions
steps: steps:
- name: Print Environment # - name: Print Environment
run: | # run: |
echo "=== whoami/hostname ===" # echo "=== whoami/hostname ==="
whoami # whoami
hostname # hostname
echo "=== pwd ===" # echo "=== pwd ==="
pwd # pwd
echo "=== PATH ===" # echo "=== PATH ==="
echo "$PATH" # echo "$PATH"
echo "=== full env ===" # echo "=== full env ==="
env | sort # env | sort
echo "=== os-release ===" # echo "=== os-release ==="
cat /etc/os-release 2>/dev/null || echo "no os-release" # cat /etc/os-release 2>/dev/null || echo "no os-release"
echo "=== does /nix exist ===" # echo "=== does /nix exist ==="
ls -la /nix 2>&1 || echo "/nix missing" # ls -la /nix 2>&1 || echo "/nix missing"
echo "=== does /nix/var/nix/profiles/default/bin exist ===" # echo "=== does /nix/var/nix/profiles/default/bin exist ==="
ls -la /nix/var/nix/profiles/default/bin 2>&1 || echo "missing" # ls -la /nix/var/nix/profiles/default/bin 2>&1 || echo "missing"
echo "=== is this a container ===" # echo "=== is this a container ==="
cat /proc/1/cgroup 2>/dev/null | head -5 # cat /proc/1/cgroup 2>/dev/null | head -5
[ -f /.dockerenv ] && echo "IS a docker container" || echo "NOT a docker container (no /.dockerenv)" # [ -f /.dockerenv ] && echo "IS a docker container" || echo "NOT a docker container (no /.dockerenv)"
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v6
- name: Install Nix # - name: Install Nix
uses: cachix/install-nix-action@v31 # uses: cachix/install-nix-action@v31
with: # with:
extra_nix_config: | # extra_nix_config: |
experimental-features = nix-command flakes # experimental-features = nix-command flakes
- name: Configure git auth for Gitea - name: Configure git auth for Gitea
run: | run: |
@@ -59,7 +59,7 @@ jobs:
export NIXPKGS_ALLOW_UNFREE=1 export NIXPKGS_ALLOW_UNFREE=1
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix build -L --impure .#nixosConfigurations.dev-iso.config.system.build.isoImage nix build -L --impure .#nixosConfigurations.dev-iso.config.system.build.isoImage
cp -rL result/iso/*.iso /ssd/radiantwave/build/radiantwave-kiosk-iso-dev-$(date +%Y-%m-%d_%H-%M-%S).iso cp -rL result/iso/*.iso /home/runner/radiantwave/radiantwave-kiosk-iso-dev-$(date +%Y-%m-%d_%H-%M-%S).iso
- name: Commit updated flake.lock - name: Commit updated flake.lock
run: | run: |
@@ -71,7 +71,7 @@ jobs:
git push git push
- name: Copy ISO to fileserver - name: Copy ISO to fileserver
run: scp result/iso/* radiantwave-infra:/mnt/infrastructure_data/files/images/ run: scp /home/runner/radiantwave/iso/* radiantwave-infra:/mnt/infrastructure_data/files/images/
- name: Notify - name: Notify
if: always() if: always()
+77
View File
@@ -0,0 +1,77 @@
on:
push:
branches:
- main
jobs:
update-and-build:
runs-on: radiantwave-actions
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Configure git auth for Gitea
run: |
git config --global url."https://oauth2:${{ secrets.GIT_TOKEN }}@gitea.radiantwavetech.com/".insteadOf "https://gitea.radiantwavetech.com/"
- name: Update radiantwave
run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix flake update radiantwave
# This builds the system closure
# these builds just verify all closures compile successfully before creating ISO images
# or allowing updates.
- name: Build dev VM
run: |
export NIXPKGS_ALLOW_UNFREE=1
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix build -L --impure .#nixosConfigurations.radiantwavekiosk.config.system.build.toplevel
nix build -L --import .#nixosConfigurations.radiantwavekiosk-android.config.system.build.toplevel
nix build -L --import .#nixosConfigurations.radiantwavekiosk-commercial.config.system.build.toplevel
# If the closure builds, it's valid, even if incorrect and something is wrong.
# That's why we build the ISO next, even for the dev branch, for testing
- name: Build dev ISO
run: |
export NIXPKGS_ALLOW_UNFREE=1
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix build -L --impure .#nixosConfigurations.radiantwavekiosk.config.system.build.toplevel
cp -rL result/iso/*.iso /home/runner/radiantwave/radiantwave-kiosk-iso-$(date +%Y-%m-%d_%H-%M-%S).iso
nix build -L --impure .#nixosConfigurations.radiantwavekiosk-android.config.system.build.toplevel
cp -rL result/iso/*.iso /home/runner/radiantwave/radiantwave-kiosk-android-iso-$(date +%Y-%m-%d_%H-%M-%S).iso
nix build -L --impure .#nixosConfigurations.radiantwavekiosk-commercial.config.system.build.toplevel
cp -rL result/iso/*.iso /home/runner/radiantwave/radiantwave-kiosk-commercial-iso-$(date +%Y-%m-%d_%H-%M-%S).iso
nix build -L --impure .#nixosConfigurations.radiantwavekiosk-rpi.config.system.build.sdImage
cp -rL result/images/*.zst /home/runner/radiantwave/radiantwave-kiosk-rpi-($date +%Y-%m-%d_%H-%M-%S).img.zst
- name: Copy outputs to fileserver
run: |
scp /home/runner/radiantwave/* nclack@157.245.124.103:/mnt/infrastructure_data/files/images/
- 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 dev" || echo "Nothing to commit"
git push
- name: Copy ISO to fileserver
run: scp result/iso/* radiantwave-infra:/mnt/infrastructure_data/files/images/
- name: Notify
if: always()
uses: https://github.com/dawidd6/action-send-mail@v3
with:
server_address: smtp.gmail.com
server_port: 465
username: ${{ secrets.MAIL_USERNAME }}
password: ${{ secrets.MAIL_PASSWORD }}
subject: "${{ job.status == 'success' && '✅' || '❌' }} KioskConfig dev build ${{ job.status }}"
to: nclack@radiantwavetech.com
from: ci@radiantwavetech.com
body: "KioskConfig dev build ${{ job.status }} — radiantwave-dev updated and arstifacts copied to /ssd/radiantwave/build/"