Skip to content

Build AstroROM

Build AstroROM #35

Workflow file for this run

name: Build AstroROM
on:
workflow_dispatch:
inputs:
device:
description: 'Device Codename'
required: true
default: 'dm3q'
upload_cloud:
description: 'Upload ROM to cloud (PixelDrain)'
required: false
default: false
type: boolean
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Free disk space (1/4) - System Junk
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
sudo docker image prune --all --force
sudo docker builder prune -a
- name: Free disk space (2/4) - Tool Cache
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
android: true
dotnet: true
haskell: true
large-packages: true
swap-storage: false
- name: Free disk space (3/4)
uses: rokibhasansagar/slimhub_actions@main
with:
retain: 'compiler_cmake'
- name: Free disk space (4/4)
run: |
sudo rm -rf /usr/local/share/boost
sudo rm -rf /usr/share/swift
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf /usr/local/share/chromium
sudo rm -rf /usr/share/sbt
sudo apt-get clean
- name: Disk Space Check
run: df -h /
- name: Run AstroROM Build
run: |
sudo bash build.sh --build ${{ inputs.device }}
- name: Download PixelDrain CLI (pd)
if: ${{ inputs.upload_cloud }}
run: |
curl -L https://github.com/jkawamoto/go-pixeldrain/releases/download/v0.7.6/pd_0.7.6_linux_amd64.tar.gz -o pd.tar.gz
tar -xvf pd.tar.gz
chmod +x pd
sudo mv pd /usr/local/bin/pd
- name: Upload ROM to PixelDrain
if: ${{ inputs.upload_cloud }}
env:
PIXELDRAIN_API_KEY: ${{ secrets.PIXELDRAIN_API_KEY }}
run: |
cd out
ROM_FILE=$(ls *.zip | head -n 1)
if [ -z "$ROM_FILE" ]; then
echo "No ROM zip found!"
exit 1
fi
echo "Uploading $ROM_FILE to PixelDrain..."
pd --api-key "$PIXELDRAIN_API_KEY" upload "$ROM_FILE" | sed 's|api/file|u|g'