on: push: paths: - ".github/workflows/integrate.yaml" - "**.hs" - "**.nix" - "flake.lock" - "agora.cabal" branches: - main - staging pull_request: paths: - ".github/workflows/integrate.yaml" - "**.hs" - "**.nix" - "flake.lock" - "agora.cabal" jobs: flake: runs-on: ubuntu-latest strategy: matrix: tasks: - agora - formatCheck - benchCheck - agora-test 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 build .#checks.x86_64-linux.${{ matrix.tasks }} name: Run '${{ matrix.tasks }}' from flake.nix haddock: 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 build .#packages.x86_64-linux.haddock name: Run 'haddock' from flake.nix # This publishes the haddock result to the branch 'gh-pages', # which is set to automatically deploy to https://liqwid-labs.github.io/agora/. - name: Publish Documentation uses: peaceiris/actions-gh-pages@v3 if: github.ref == 'refs/heads/main' with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./result/agora/html