aafk-sober 0.2.2

Anti-AFK application for Sober (Roblox on Linux)
name: Build & Release

on:
  push:
    tags:
      - 'v*'

permissions:
  contents: write

jobs:
  release:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable

      - name: Install system dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y libgtk-4-dev libdbus-1-dev pkg-config libudev-dev libfuse2

      - name: Get version
        id: version
        run: echo "VERSION=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"

      - name: Build release
        run: cargo build --release

      - name: Build AppImage
        run: |
          VERSION="${{ steps.version.outputs.VERSION }}"
          mkdir -p AppDir/usr/bin AppDir/usr/share/applications AppDir/usr/share/icons/hicolor/scalable/apps
          cp target/release/AntiAFK-RBX-Sober AppDir/usr/bin/
          cp assets/logo.png AppDir/usr/share/icons/hicolor/scalable/apps/antiafk-rbx-sober.png
          cp assets/logo.png AppDir/AntiAFK-RBX-Sober.png
          cp dev.agzes.antiafk-rbx-sober.desktop AppDir/usr/share/applications/
          cp dev.agzes.antiafk-rbx-sober.desktop AppDir/
          printf '#!/bin/bash\nAPPDIR="$(dirname "$(readlink -f "$0")")"\nexport XDG_DATA_DIRS="${APPDIR}/usr/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"\nexec "${APPDIR}/usr/bin/AntiAFK-RBX-Sober" "$@"\n' > AppDir/AppRun
          chmod +x AppDir/AppRun
          curl -fsSL -o appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
          chmod +x appimagetool
          ARCH=x86_64 ./appimagetool AppDir "Sober-AntiAFK-v${VERSION}.AppImage"

      - name: Create Release
        uses: softprops/action-gh-release@v2
        with:
          name: v${{ steps.version.outputs.VERSION }}
          files: Sober-AntiAFK-v*.AppImage