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