Build Linux Bundle #87
Workflow file for this run
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: Build Linux Bundle | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| push_to_cache: | |
| description: "Push to Nix Cache" | |
| required: false | |
| type: boolean | |
| default: false | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - name: Free disk space | |
| run: sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache | |
| - name: Build Graphite | |
| run: nix build .nix --no-link --print-out-paths > nix-paths.txt | |
| - name: Push to Nix Cache | |
| if: github.ref == 'refs/heads/master' || inputs.push_to_cache == true | |
| env: | |
| NIX_CACHE_AUTH_TOKEN: ${{ secrets.NIX_CACHE_AUTH_TOKEN }} | |
| run: | | |
| nix run nixpkgs#cachix -- authtoken $NIX_CACHE_AUTH_TOKEN | |
| cat nix-paths.txt | nix run nixpkgs#cachix -- push graphite | |
| - name: Build Linux Bundle | |
| run: nix build .nix#graphite-bundle.tar.xz && cp ./result ./graphite-linux-bundle.tar.xz | |
| - name: Upload Linux Bundle | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: graphite-linux-bundle | |
| path: graphite-linux-bundle.tar.xz | |
| compression-level: 0 | |
| - name: Setup Flatpak Tooling | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y flatpak flatpak-builder | |
| flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
| - name: Build Flatpak | |
| run: | | |
| nix build .nix#graphite-flatpak-manifest | |
| rm -rf .flatpak | |
| mkdir -p .flatpak | |
| cp ./result .flatpak/manifest.json | |
| cd .flatpak | |
| mkdir -p repo | |
| flatpak-builder --user --force-clean --install-deps-from=flathub --repo=repo build ./manifest.json | |
| flatpak build-bundle repo graphite.flatpak art.graphite.Graphite --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo | |
| - name: Upload Flatpak | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: graphite-flatpak | |
| path: .flatpak/graphite.flatpak | |
| compression-level: 0 |