name: archive_release_steamos

on:
  workflow_dispatch: # Enables manual triggers

jobs:
  steamos:
    runs-on: [self-hosted, linux]
    steps:
      - uses: actions/checkout@v4
      - uses: cargo-bins/cargo-binstall@main
      - uses: extractions/setup-just@v1
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: stable
          components: clippy, rustfmt

      - name: "Install and cache dependencies (Linux)"
        uses: awalsh128/cache-apt-pkgs-action@latest
        with:
          packages: libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
          version: 1.0

      - name: Build
        run: |
          cargo build --release --locked --target=x86_64-unknown-linux-gnu --bin hedz_reloaded --no-default-features --features shared/client
          cargo build --release --locked --target=x86_64-unknown-linux-gnu --bin server --no-default-features --features shared/server

      - name: Archive
        run: |
          cp target/x86_64-unknown-linux-gnu/release/hedz_reloaded target/x86_64-unknown-linux-gnu/release/server ./
          tar -czf steamos.tar.gz hedz_reloaded server

      - uses: actions/upload-artifact@v4
        with:
          name: steamos.tar.gz
          path: ./steamos.tar.gz
