CI using deploy keys of plutarch-*

Simplified workflow using `strategy.matrix`
This commit is contained in:
Seungheon Oh 2022-05-27 13:48:53 -05:00
parent 55defea912
commit d7a235f010
No known key found for this signature in database
GPG key ID: 9B0E12D357369B66
17 changed files with 50 additions and 93 deletions

View file

@ -15,11 +15,21 @@ on:
- "flake.lock"
- "agora.cabal"
jobs:
check-formatting:
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:
@ -34,68 +44,21 @@ jobs:
name: mlabs
authToken: ${{ secrets.CACHIX_KEY }}
- run: nix build .#checks.x86_64-linux.formatCheck
name: Run 'formatCheck' from flake.nix
check-bench:
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 .#checks.x86_64-linux.benchCheck
name: Run 'benchCheck' from flake.nix
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 .#check.x86_64-linux
- 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:

View file

@ -22,8 +22,8 @@ import Agora.Proposal (ProposalId (..), ProposalThresholds (..))
--------------------------------------------------------------------------------
import Plutarch.Api.V1 (mkValidator, validatorHash)
import Data.Tagged (Tagged (..))
import Plutarch.Api.V1 (mkValidator, validatorHash)
import Plutus.V1.Ledger.Address (scriptHashAddress)
import Plutus.V1.Ledger.Api (
Address,

View file

@ -14,8 +14,8 @@ module Sample.Governor (
--------------------------------------------------------------------------------
import Plutarch.Api.V1 (mkValidator, validatorHash)
import Data.Tagged (Tagged (..), untag)
import Plutarch.Api.V1 (mkValidator, validatorHash)
--------------------------------------------------------------------------------

View file

@ -86,13 +86,13 @@ import Agora.Stake (Stake (..))
import Agora.Treasury (treasuryValidator)
import Agora.Utils (validatorHashToTokenName)
import Data.Default.Class (Default (..))
import Data.Tagged (Tagged (..))
import Plutarch.Api.V1 (
mintingPolicySymbol,
mkMintingPolicy,
mkValidator,
validatorHash,
)
import Data.Tagged (Tagged (..))
import Plutus.V1.Ledger.Address (scriptHashAddress)
import Plutus.V1.Ledger.Api (
Address (Address),

View file

@ -27,10 +27,10 @@ import Agora.Stake.Scripts (stakePolicy, stakeValidator)
import Agora.Treasury (treasuryValidator)
import Control.Monad ((>=>))
import Data.Aeson qualified as Aeson
import Data.Tagged (Tagged)
import GHC.Generics qualified as GHC
import Options (Options (..), parseOptions)
import Plutarch.Api.V1 (mintingPolicySymbol, mkMintingPolicy)
import Data.Tagged (Tagged)
import Plutus.V1.Ledger.Api (TxOutRef)
import Plutus.V1.Ledger.Value (AssetClass, CurrencySymbol)
import Plutus.V1.Ledger.Value qualified as Value

View file

@ -23,7 +23,6 @@ common lang
pprelude (PPrelude as Prelude)
default-extensions:
PackageImports
NoStarIsType
BangPatterns
BinaryLiterals
@ -63,6 +62,7 @@ common lang
NumericUnderscores
OverloadedLabels
OverloadedStrings
PackageImports
PartialTypeSignatures
PatternGuards
PolyKinds
@ -96,9 +96,9 @@ common deps
, data-default
, data-default-class
, generics-sop
, liqwid-plutarch-extra
, plutarch
, plutarch-extra
, liqwid-plutarch-extra
, plutarch-numeric
, plutarch-safe-money
, plutus-core
@ -108,11 +108,11 @@ common deps
, prettyprinter
, recursion-schemes
, serialise
, tagged
, template-haskell
, text
, tagged
mixins:
mixins:
common test-deps
build-depends:

View file

@ -24,8 +24,8 @@ import Plutarch.Api.V1 (
PTxInfo (..),
PTxOut (..),
)
import Plutarch.Api.V1.AssocMap (PMap (PMap))
import Plutarch.Api.V1.AssetClass (passetClass, passetClassValueOf)
import Plutarch.Api.V1.AssocMap (PMap (PMap))
import "plutarch" Plutarch.Api.V1.Value (PValue (PValue))
import Plutarch.Builtin (pforgetData)
import Plutus.V1.Ledger.Value (AssetClass (AssetClass))

View file

@ -48,18 +48,18 @@ import Agora.Utils (tclet)
--------------------------------------------------------------------------------
import Data.Tagged (Tagged (..))
import Plutarch.DataRepr (
DerivePConstantViaData (..),
PDataFields,
PIsDataReprInstances (PIsDataReprInstances),
)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (..))
import Data.Tagged (Tagged (..))
import Plutarch.Extra.Comonad (pextract)
import Plutarch.Extra.TermCont (pmatchC)
import Plutarch.Lift (PConstantDecl, PUnsafeLiftDecl (..))
import Plutarch.SafeMoney (PDiscrete (..))
import Plutarch.TryFrom (PTryFrom (..))
import Plutarch.Unsafe (punsafeCoerce)
import Plutarch.SafeMoney (PDiscrete (..))
import Plutarch.Extra.TermCont (pmatchC)
--------------------------------------------------------------------------------

View file

@ -114,19 +114,15 @@ import Plutarch.Api.V1.AssetClass (
passetClass,
passetClassValueOf,
)
import Plutarch.Extra.Comonad (pextract)
import Plutarch.Extra.Map (
pkeys,
plookup,
plookup',
)
import Plutarch.Extra.Comonad ( pextract)
import Plutarch.SafeMoney (
PDiscrete,
pvalueDiscrete',
)
import Plutarch.TryFrom ()
import Plutarch.SafeMoney (PDiscrete (..))
import Plutarch.Extra.TermCont (pmatchC)
import Plutarch.SafeMoney (PDiscrete (..), pvalueDiscrete')
import Plutarch.TryFrom ()
--------------------------------------------------------------------------------

View file

@ -51,6 +51,7 @@ import Agora.SafeMoney (GTTag)
import Agora.Utils (pkeysEqual, pmapMap, pnotNull)
import Control.Applicative (Const)
import Control.Arrow (first)
import Data.Tagged (Tagged)
import Plutarch.DataRepr (DerivePConstantViaData (..), PDataFields, PIsDataReprInstances (..))
import Plutarch.Lift (
DerivePConstantViaNewtype (..),
@ -58,7 +59,6 @@ import Plutarch.Lift (
PUnsafeLiftDecl (..),
)
import Plutarch.SafeMoney (PDiscrete)
import Data.Tagged (Tagged)
import Plutarch.TryFrom (PTryFrom (PTryFromExcess, ptryFrom'))
import Plutarch.Unsafe (punsafeCoerce)
import Plutus.V1.Ledger.Api (DatumHash, PubKeyHash, ValidatorHash)

View file

@ -45,12 +45,11 @@ import Plutarch.Api.V1 (
PValidator,
)
import Plutarch.Api.V1.AssetClass (passetClass, passetClassValueOf)
import Plutarch.Extra.Map (plookup)
import Plutarch.Extra.Comonad (pextract)
import Plutarch.Extra.Map (plookup)
import Plutarch.Extra.TermCont (pmatchC)
import Plutarch.SafeMoney (PDiscrete (..))
import Plutus.V1.Ledger.Value (AssetClass (AssetClass))
import Plutarch.Extra.TermCont (pmatchC)
{- | Policy for Proposals.

View file

@ -66,8 +66,8 @@ import Agora.Utils (
tcmatch,
)
import Control.Applicative (Const)
import Plutarch.Api.V1.AssetClass (PAssetClass, passetClassValueOf)
import Data.Tagged (Tagged (..))
import Plutarch.Api.V1.AssetClass (PAssetClass, passetClassValueOf)
import Plutarch.SafeMoney (PDiscrete)
import Plutarch.TryFrom (PTryFrom (PTryFromExcess, ptryFrom'))

View file

@ -27,6 +27,7 @@ import Agora.Utils (
tcmatch,
tctryFrom,
)
import Data.Tagged (Tagged (..), untag)
import Plutarch.Api.V1 (
PCredential (PPubKeyCredential, PScriptCredential),
PMintingPolicy,
@ -40,7 +41,6 @@ import Plutarch.Api.V1 (
import Plutarch.Api.V1.AssetClass (passetClass, passetClassValueOf, pvalueOf)
import Plutarch.Internal (punsafeCoerce)
import Plutarch.Numeric.Additive (AdditiveMonoid (zero), AdditiveSemigroup ((+)))
import Data.Tagged (Tagged (..), untag)
import Plutarch.SafeMoney (
pdiscreteValue',
pvalueDiscrete',

View file

@ -96,14 +96,13 @@ import Plutarch.Api.V1 (
mintingPolicySymbol,
mkMintingPolicy,
)
import Plutarch.Api.V1.AssocMap (PMap (PMap))
import Plutarch.Api.V1.AssetClass (PAssetClass, passetClassValueOf, pvalueOf)
import Plutarch.Api.V1.AssocMap (PMap (PMap))
import "plutarch" Plutarch.Api.V1.Value (PValue (PValue))
import Plutarch.Builtin (pforgetData, ppairDataBuiltin)
import Plutarch.Extra.Map (pkeys)
import Plutarch.Reducible (Reducible (Reduce))
import Plutarch.TryFrom (PTryFrom (PTryFromExcess))
import Plutarch.Extra.Map (pkeys)
--------------------------------------------------------------------------------
-- TermCont-based combinators. Some of these will live in plutarch eventually.