name: Build Archipelago ISO on: push: branches: [main] workflow_dispatch: jobs: build-iso: runs-on: ubuntu-latest timeout-minutes: 60 steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust toolchain run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y echo "$HOME/.cargo/bin" >> $GITHUB_PATH - name: Build backend (release) run: cargo build --release --manifest-path core/Cargo.toml - name: Install backend binary run: | sudo cp core/target/release/archipelago /usr/local/bin/archipelago sudo chmod +x /usr/local/bin/archipelago - name: Build frontend run: | cd neode-ui npm ci npm run build - name: Build ISO run: | cd image-recipe sudo DEV_SERVER=localhost BUILD_FROM_SOURCE=0 ./build-auto-installer-iso.sh env: DEBIAN_FRONTEND: noninteractive - name: Upload ISO artifact uses: actions/upload-artifact@v3 with: name: archipelago-iso path: image-recipe/results/*.iso retention-days: 30