CI using deploy keys of plutarch-*
Simplified workflow using `strategy.matrix`
This commit is contained in:
parent
55defea912
commit
d7a235f010
17 changed files with 50 additions and 93 deletions
77
.github/workflows/integrate.yaml
vendored
77
.github/workflows/integrate.yaml
vendored
|
|
@ -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,67 +44,20 @@ 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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ module Sample.Governor (
|
|||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
import Data.Tagged (Tagged (..), untag)
|
||||
import Plutarch.Api.V1 (mkValidator, validatorHash)
|
||||
import Data.Tagged (Tagged(..), untag)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ import Agora.Proposal (
|
|||
)
|
||||
import Agora.Proposal.Time (ProposalStartingTime (ProposalStartingTime), ProposalTimingConfig (..))
|
||||
import Agora.Stake (ProposalLock (ProposalLock), Stake (..), StakeDatum (..))
|
||||
import Data.Tagged (Tagged(..), untag)
|
||||
import Data.Tagged (Tagged (..), untag)
|
||||
import Sample.Shared
|
||||
import Test.Util (closedBoundedInterval, datumPair, toDatumHash, updateMap)
|
||||
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
10
agora.cabal
10
agora.cabal
|
|
@ -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
|
||||
|
|
@ -88,7 +88,7 @@ common deps
|
|||
build-depends:
|
||||
, aeson
|
||||
, ansi-terminal
|
||||
, base >=4.14 && <5
|
||||
, base >=4.14 && <5
|
||||
, base-compat
|
||||
, bytestring
|
||||
, cardano-prelude
|
||||
|
|
@ -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:
|
||||
|
||||
|
||||
common test-deps
|
||||
build-depends:
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -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 ()
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ module Agora.SafeMoney (
|
|||
|
||||
import Plutus.V1.Ledger.Value (AssetClass (AssetClass))
|
||||
|
||||
import Data.Tagged ( Tagged(Tagged) )
|
||||
import Data.Tagged (Tagged (Tagged))
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- Tags
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@ import Agora.Utils (
|
|||
tcmatch,
|
||||
)
|
||||
import Control.Applicative (Const)
|
||||
import Data.Tagged (Tagged (..))
|
||||
import Plutarch.Api.V1.AssetClass (PAssetClass, passetClassValueOf)
|
||||
import Data.Tagged (Tagged (..) )
|
||||
import Plutarch.SafeMoney (PDiscrete)
|
||||
import Plutarch.TryFrom (PTryFrom (PTryFromExcess, ptryFrom'))
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ import Agora.Utils (
|
|||
tcmatch,
|
||||
tctryFrom,
|
||||
)
|
||||
import Data.Tagged (Tagged (..), untag)
|
||||
import Plutarch.Api.V1 (
|
||||
PCredential (PPubKeyCredential, PScriptCredential),
|
||||
PMintingPolicy,
|
||||
|
|
@ -39,8 +40,7 @@ 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.Numeric.Additive (AdditiveMonoid (zero), AdditiveSemigroup ((+)))
|
||||
import Plutarch.SafeMoney (
|
||||
pdiscreteValue',
|
||||
pvalueDiscrete',
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -14,14 +14,14 @@
|
|||
"plutarch/haskell-nix/nixpkgs-unstable";
|
||||
inputs.plutarch.inputs.nixpkgs.follows =
|
||||
"plutarch/haskell-nix/nixpkgs-unstable";
|
||||
|
||||
|
||||
inputs.liqwid-plutarch-extra.url =
|
||||
"git+ssh://git@github.com/Liqwid-Labs/liqwid-plutarch-extra?ref=main";
|
||||
inputs.plutarch-numeric.url =
|
||||
"git+ssh://git@github.com/Liqwid-Labs/plutarch-numeric?ref=main";
|
||||
inputs.plutarch-safe-money.url =
|
||||
"git+ssh://git@github.com/Liqwid-Labs/plutarch-safe-money?ref=main";
|
||||
|
||||
|
||||
# Follows jhodgdev's forks of apropos and apropos-tx, as these
|
||||
# are not constrained to `base ^>= 4.14`. Once these are merged
|
||||
# to their respective master branches, we should change the
|
||||
|
|
@ -139,7 +139,7 @@
|
|||
ps.apropos-tx
|
||||
ps.apropos
|
||||
ps.apropos
|
||||
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue