name: "Check & Build (with Cachix)"
on:
  push:
    branches:
      - master
jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2.3.4
      - uses: cachix/install-nix-action@v13
        with:
          install_url: https://nixos-nix-install-tests.cachix.org/serve/8d8xah1f6ypccpmw9cfsl8ziw1chj4cl/install
          install_options: "--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve"
          extra_nix_config: >
            experimental-features = nix-command flakes
            system-features = nixos-test benchmark big-parallel kvm recursive-nix
            extra-platforms = aarch64-linux
            keep-going = true
            substituters =
            https://aciceri-fleet.cachix.org
            https://nrdxp.cachix.org
            https://nix-community.cachix.org
            arm.cachix.org
            https://cache.nixos.org
            trusted-public-keys = >
            aciceri-fleet.cachix.org-1:WiHJIK4UFTdfvWx0lG3mCR4EddyYsRhIuMGSje3/YGI=
            nrdxp.cachix.org-1:Fc5PSqY2Jm1TrWfm88l6cvGWwz3s93c6IOifQWnhNW4=
            nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
            arm.cachix.org-1:K3XjAeWPgWkFtSS9ge5LJSLw3xgnNqyOaG7MDecmTQ8=
            cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
      - uses: cachix/cachix-action@v10
        with:
          name: aciceri-fleet
          authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
      - run: sed -i 's/#\(.*\).*\#.* ga-uncomment/\1/g' flake.nix # disabling outputs unsupported inside the GitHub action
      - run: nix -Lv flake check
      - run: nix -Lv build ".#nixosConfigurations.pc.config.system.build.toplevel"
      - run: nix -Lv build ".#nixosConfigurations.hs.config.system.build.toplevel"
      - run: nix -Lv develop -c echo OK