agora/.github/workflows/integrate.yaml
Seungheon Oh d7a235f010
CI using deploy keys of plutarch-*
Simplified workflow using `strategy.matrix`
2022-05-27 13:54:33 -05:00

86 lines
2.9 KiB
YAML

on:
push:
paths:
- "**.hs"
- "**.nix"
- "flake.lock"
- "agora.cabal"
branches:
- master
- staging
pull_request:
paths:
- "**.hs"
- "**.nix"
- "flake.lock"
- "agora.cabal"
jobs:
flake:
runs-on: ubuntu-latest
strategy:
matrix:
tasks: ["agora", "formatCheck", "benchCheck"]
steps:
- uses: actions/checkout@v2.4.0
- uses: webfactory/ssh-agent@v0.5.4
with:
ssh-private-key: |
${{ secrets.LIQWID_PLUTARCH_EXTRA_PRIVATE }}
${{ secrets.PLUTARCH_NUMERIC_PRIVATE }}
${{ secrets.PLUTARCH_SAFE_MONEY_PRIVATE }}
- 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: webfactory/ssh-agent@v0.5.4
with:
ssh-private-key: |
${{ secrets.LIQWID_PLUTARCH_EXTRA_PRIVATE }}
${{ secrets.PLUTARCH_NUMERIC_PRIVATE }}
${{ secrets.PLUTARCH_SAFE_MONEY_PRIVATE }}
- 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/master'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./result/agora/html