name: Build AppImage on: push: branches: - 'main' - 'staging' env: APPDIR: WlxOverlay-S.AppDir CARGO_TERM_COLOR: always SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache" jobs: build_appimage: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Setup sccache uses: mozilla-actions/sccache-action@v0.0.3 - name: Prepare Environment run: | sudo add-apt-repository -syn universe sudo add-apt-repository -syn ppa:pipewire-debian/pipewire-upstream || sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 25088A0359807596 sudo apt-get update sudo apt-get install -y fuse cmake pkg-config fontconfig libasound2-dev libxkbcommon-dev libxkbcommon-x11-0 libxkbcommon-x11-dev libopenxr-dev libfontconfig-dev libdbus-1-dev libpipewire-0.3-0 libpipewire-0.3-dev libspa-0.2-dev libx11-6 libxext6 libxrandr2 libx11-dev libxext-dev libxrandr-dev libopenvr-dev libopenvr-api1 libwayland-dev libegl-dev rustup update test -f linuxdeploy-x86_64.AppImage || wget -q "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" chmod +x linuxdeploy-x86_64.AppImage test -d ${APPDIR} && rm -rf ${APPDIR} mkdir -p ${APPDIR}/usr/bin - name: Cargo Build run: | cargo build --release mv target/release/wlx-overlay-s ${APPDIR}/usr/bin chmod +x ${APPDIR}/usr/bin/wlx-overlay-s - name: Package AppImage run: | export VERSION=$GITHUB_REF_NAME ./linuxdeploy-x86_64.AppImage -dwlx-overlay-s.desktop -iwlx-overlay-s.png --appdir=${APPDIR} --output appimage --exclude-library '*libpipewire*' mv WlxOverlay-S-$VERSION-x86_64.AppImage WlxOverlay-S-x86_64.AppImage - name: Upload AppImage uses: actions/upload-artifact@v4 with: name: WlxOverlay-S-${{ github.ref_name }}-x86_64.AppImage path: ./WlxOverlay-S-x86_64.AppImage