Fix CI working directory paths #4
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 (GTK4) | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Install GTK4 + libadwaita dev dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgtk-4-dev libadwaita-1-dev | |
| - name: Test all crates | |
| run: cargo test --workspace | |
| build-binary: | |
| name: Build binary (x86_64) | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - name: Install GTK4 + libadwaita dev dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgtk-4-dev libadwaita-1-dev | |
| - name: Cache cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-release-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build release binary | |
| run: cargo build --release -p dm-gtk | |
| - name: Strip binary | |
| run: strip target/release/diskmap | |
| - name: Upload binary | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: diskmap-linux-x86_64 | |
| path: target/release/diskmap | |
| build-deb: | |
| name: Build .deb package | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - name: Install GTK4 + libadwaita dev dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgtk-4-dev libadwaita-1-dev | |
| - name: Install cargo-deb | |
| run: cargo install cargo-deb | |
| - name: Cache cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-deb-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build .deb | |
| run: cargo deb -p dm-gtk | |
| - name: Upload .deb | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: diskmap-deb | |
| path: diskmap/target/debian/*.deb | |
| build-flatpak: | |
| name: Build Flatpak | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Flatpak and flatpak-builder | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y flatpak flatpak-builder | |
| sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | |
| sudo flatpak install -y flathub org.gnome.Platform//46 org.gnome.Sdk//46 | |
| sudo flatpak install -y flathub org.freedesktop.Sdk.Extension.rust-stable//24.08 | |
| - name: Build Flatpak | |
| working-directory: ./packaging | |
| run: | | |
| flatpak-builder --force-clean --repo=repo builddir com.diskmap.app.yml | |
| flatpak build-bundle repo diskmap.flatpak com.diskmap.app | |
| - name: Upload Flatpak | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: diskmap-flatpak | |
| path: diskmap/packaging/diskmap.flatpak | |
| release: | |
| name: Create Release | |
| runs-on: ubuntu-latest | |
| needs: [build-binary, build-deb, build-flatpak] | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| - name: List artifacts | |
| run: find artifacts -type f | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: build-${{ github.run_number }} | |
| name: Build ${{ github.run_number }} | |
| draft: true | |
| files: | | |
| artifacts/diskmap-linux-x86_64/diskmap | |
| artifacts/diskmap-deb/*.deb | |
| artifacts/diskmap-flatpak/diskmap.flatpak |