linux-rust: add battery to window and add option for text in tray #12
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: Linux Build & Release | |
| on: | |
| push: | |
| branches: | |
| - linux/rust | |
| tags: | |
| - 'linux-v*' | |
| paths: | |
| - 'linux-rust/**' | |
| - '.github/workflows/linux-build.yml' | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y pkg-config libdbus-1-dev libpulse-dev appstream just libfuse2 | |
| - name: Install AppImage tools | |
| run: | | |
| wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool | |
| wget -q https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage -O /usr/local/bin/linuxdeploy | |
| chmod +x /usr/local/bin/{appimagetool,linuxdeploy} | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| linux-rust/target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('linux-rust/Cargo.lock') }} | |
| - name: Build AppImage and Binary | |
| working-directory: linux-rust | |
| run: | | |
| cargo build --release --verbose | |
| just | |
| mkdir -p dist | |
| cp target/release/librepods dist/librepods | |
| mv dist/LibrePods-x86_64.AppImage dist/librepods-x86_64.AppImage | |
| - name: Upload AppImage artifact | |
| if: "!startsWith(github.ref, 'refs/tags/linux-v')" | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: librepods-x86_64.AppImage | |
| path: linux-rust/dist/librepods-x86_64.AppImage | |
| - name: Upload binary artifact | |
| if: "!startsWith(github.ref, 'refs/tags/linux-v')" | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: librepods | |
| path: linux-rust/dist/librepods | |
| - name: Create tarball for Flatpak | |
| if: startsWith(github.ref, 'refs/tags/linux-v') | |
| working-directory: linux-rust | |
| run: | | |
| VERSION="${GITHUB_REF_NAME#linux-v}" | |
| just tarball "${VERSION}" | |
| echo "VERSION=${VERSION}" >> $GITHUB_ENV | |
| echo "TAR_PATH=linux-rust/dist/librepods-v${VERSION}-source.tar.gz" >> $GITHUB_ENV | |
| - name: Create GitHub Release (AppImage + binary + source) | |
| if: startsWith(github.ref, 'refs/tags/linux-v') | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ github.ref_name }} | |
| files: | | |
| linux-rust/dist/librepods-v${{ env.VERSION }}-source.tar.gz | |
| linux-rust/dist/librepods-x86_64.AppImage | |
| linux-rust/dist/librepods | |
| generate_release_notes: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |