Merge pull request #196 from deavid/dev-deavid #14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Alpha (Rolling) | |
| on: | |
| push: | |
| branches: | |
| - alpha | |
| permissions: | |
| contents: write | |
| actions: write | |
| jobs: | |
| prepare_assets: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Update APT & Install Build Dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y imagemagick bc xbrzscale | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| - name: Restore Cargo cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Cache upscaled assets | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| assets/upscaled | |
| assets/index.postcard | |
| key: ${{ runner.os }}-assets-${{ hashFiles('assets/img/**', 'upscale_assets.sh') }} | |
| restore-keys: | | |
| ${{ runner.os }}-assets- | |
| - name: Install just | |
| uses: extractions/setup-just@v3 | |
| - name: Process assets | |
| run: just upscale-assets | |
| - name: Upload processed assets | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: processed-assets | |
| path: assets/ | |
| include-hidden-files: true | |
| build_and_package: | |
| runs-on: ubuntu-latest | |
| needs: [prepare_assets] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - id: linux | |
| just_target: package-linux | |
| - id: windows | |
| just_target: package-windows | |
| - id: wasm | |
| just_target: package-wasm | |
| - id: server | |
| just_target: package-server | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Download processed assets | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: processed-assets | |
| path: assets/ | |
| - name: Update APT & Install Build Dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 mingw-w64 zip imagemagick bc xbrzscale | |
| - name: Install WASM deps | |
| run: | | |
| cargo install wasm-pack | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| target: x86_64-pc-windows-gnu,wasm32-unknown-unknown | |
| - name: Restore Cargo cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install just | |
| uses: extractions/setup-just@v3 | |
| - name: Build and Package | |
| env: | |
| SKIP_UPSCALE: 1 | |
| run: just ${{ matrix.just_target }} | |
| - name: Upload release artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: alpha-${{ matrix.id }} | |
| path: releases/unhaunter-* | |
| if-no-files-found: error | |
| publish: | |
| runs-on: ubuntu-latest | |
| needs: [build_and_package] | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| pattern: alpha-* | |
| merge-multiple: true | |
| path: releases | |
| - name: Overwrite alpha-latest rolling release | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| gh release delete alpha-latest --repo ${{ github.repository }} --yes --cleanup-tag 2>/dev/null || true | |
| gh release create alpha-latest \ | |
| --repo ${{ github.repository }} \ | |
| --target ${{ github.sha }} \ | |
| --prerelease \ | |
| --title "Alpha Latest (rolling)" \ | |
| --notes "Latest alpha build from the alpha branch. Volatile. May break." \ | |
| releases/unhaunter-* | |
| gh release edit alpha-latest --repo ${{ github.repository }} --latest=false | |
| - name: Trigger Website Deployment | |
| run: gh workflow run deploy-zola-site.yml --repo ${{ github.repository }} --ref website | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |