on: push: paths: - "**.hs" - "**.nix" - "flake.lock" - "agora.cabal" branches: - master - staging pull_request: paths: - "**.hs" - "**.nix" - "flake.lock" - "agora.cabal" jobs: check-formatting: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.4.0 - uses: cachix/install-nix-action@v16 name: Set up Nix and IOHK caches with: nix_path: nixpkgs=channel:nixos-unstable extra_nix_config: | trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= substituters = https://hydra.iohk.io https://iohk.cachix.org https://cache.nixos.org/ experimental-features = nix-command flakes - uses: cachix/cachix-action@v10 with: name: mlabs authToken: ${{ secrets.CACHIX_KEY }} - run: ./.github/format.sh name: Run fourmolu run-linter: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.4.0 - uses: cachix/install-nix-action@v16 name: Set up Nix and IOHK caches with: nix_path: nixpkgs=channel:nixos-unstable extra_nix_config: | trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= substituters = https://hydra.iohk.io https://iohk.cachix.org https://cache.nixos.org/ experimental-features = nix-command flakes - uses: cachix/cachix-action@v10 with: name: mlabs authToken: ${{ secrets.CACHIX_KEY }} - run: nix run nixpkgs#haskell.packages.ghc921.hlint -- $(git ls-tree -r HEAD --full-tree --name-only | grep -E '.*\.hs') name: Run hlint check-build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.4.0 - uses: cachix/install-nix-action@v16 name: Set up Nix and IOHK caches with: nix_path: nixpkgs=channel:nixos-unstable extra_nix_config: | trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= substituters = https://hydra.iohk.io https://iohk.cachix.org https://cache.nixos.org/ experimental-features = nix-command flakes - uses: cachix/cachix-action@v10 with: name: mlabs authToken: ${{ secrets.CACHIX_KEY }} - name: Add cabal folder to cache id: cabal uses: actions/cache@v2.1.4 with: path: | ~/.cabal/packages ~/.cabal/store dist-newstyle key: ${{ runner.os }}-cabal - name: Build the project run: nix build