From f1776a1dc4b69907b2947b86476adf93b9556c02 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 30 May 2023 16:58:34 +0300 Subject: [PATCH] provide a binary cache for anyrun (#39) * upload built binaries to cachix * add cachix instructions to the README --- .github/workflows/cachix.yml | 45 ++++++++++++++++++++++++++++++++++++ README.md | 16 +++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 .github/workflows/cachix.yml diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml new file mode 100644 index 0000000..81223a6 --- /dev/null +++ b/.github/workflows/cachix.yml @@ -0,0 +1,45 @@ +name: "Set up binary cache & push binaries" + +on: + workflow_dispatch: + push: + branches: + - main + paths-ignore: + - .github/** + - assets/** + - .gitignore + +jobs: + cahix: + runs-on: ubuntu-latest + strategy: + matrix: + package: + - default + steps: + - uses: easimon/maximize-build-space@v6 + with: + overprovision-lvm: true + remove-android: true + remove-dotnet: true + remove-haskell: true + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v20 + with: + extra_nix_config: | + access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} + auto-optimise-store = true + experimental-features = nix-command flakes + nix_path: nixpkgs=channel:nixos-unstable + - uses: cachix/cachix-action@v12 + with: + authToken: ${{ secrets.CACHIX_TOKEN }} + extraPullNames: nix-community + name: anyrun + - name: Set default git branch (to reduce log spam) + run: git config --global init.defaultBranch main + - name: Validate Flakes + run: nix flake check + - name: Build anyrun with default settings + run: nix build .#${{ matrix.package }} --print-build-logs diff --git a/README.md b/README.md index 4ca9926..2d2962c 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,22 @@ You can use the flake: } ``` +You might also want to use the binary cache to avoid building locally. + +```nix +nix.settings = { + builders-use-substitutes = true; + # substituters to use + substituters = [ + https://anyrun.cachix.org + ]; + + trusted-public-keys = [ + "cache.nixos.org-1:anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" + ]; +}; +``` + ### Manual installation Make sure all of the dependencies are installed, and then run the following commands in order: