📜 Haddock Site #32
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow builds and publishes the Haddock site to: | |
# https://plutus.cardano.intersectmbo.org/haddock/$version | |
# And optionally to: | |
# https://plutus.cardano.intersectmbo.org/haddock/latest | |
# On push to master, this workflows publishes to: | |
# https://plutus.cardano.intersectmbo.org/haddock/master | |
name: "📜 Haddock Site" | |
on: | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
inputs: | |
ref: | |
description: | | |
The $ref to build off of, e.g. "1.29.0.0", "master", or any other valid git ref. | |
When making a release, this is usually the version tag, e.g. "1.29.0.0", and will be | |
equal to the $destination input below. When back-porting this could be a commit sha instead. | |
required: true | |
type: string | |
destination: | |
description: | | |
The $destination folder, e.g. when "1.29.0.0" the haddock will be deploy to: | |
https://plutus.cardano.intersectmbo.org/haddock/1.29.0.0 | |
required: true | |
type: string | |
latest: | |
description: | | |
If true, then the haddock site will also be deploy to: | |
https://plutus.cardano.intersectmbo.org/haddock/latest. | |
You want to leave this to true unless you are deploying old versions or back-porting. | |
type: boolean | |
required: true | |
default: true | |
jobs: | |
deploy: | |
name: Deploy | |
runs-on: [self-hosted, plutus-shared] | |
permissions: | |
contents: write | |
environment: | |
name: github-pages | |
steps: | |
- name: Checkout | |
uses: actions/checkout@main | |
with: | |
ref: ${{ inputs.ref || github.ref_name }} | |
- name: Checkout Haddock Script | |
run: | | |
git fetch origin master | |
git checkout origin/master ./scripts/combined-haddock.sh | |
- name: Build Site | |
run: | | |
nix develop --no-warn-dirty --accept-flake-config --command ./scripts/combined-haddock.sh _haddock all | |
- name: Deploy Site | |
uses: JamesIves/[email protected] | |
with: | |
folder: _haddock | |
target-folder: haddock/${{ inputs.destination || github.ref_name }} | |
single-commit: true | |
- name: Deploy Site (latest) | |
if: ${{ inputs.latest == true }} | |
uses: JamesIves/[email protected] | |
with: | |
folder: _haddock | |
target-folder: haddock/latest | |
single-commit: true | |
- name: Check Broken Links | |
run: | | |
IGNORE_URLS=( | |
--ignore-url file:///run/github-runner/plutus-shared/.local/state/cabal/store/.* | |
--ignore-url https://hackage.haskell.org/package/base-4.18.2.1/docs/Data-Semigroup-Internal.html | |
--ignore-url https://hackage.haskell.org/package/ghc-9.6.5/docs/-/issues/7100 | |
--ignore-url https://hackage.haskell.org/package/ghc-boot-th-9.6.5/docs/GHC-ForeignSrcLang-Type.html | |
--ignore-url https://hackage.haskell.org/package/ghc-boot-th-9.6.5/docs/GHC-LanguageExtensions-Type.html | |
--ignore-url https://hackage.haskell.org/package/ghc-boot-th-9.6.5/docs/src/GHC.LanguageExtensions.Type.html | |
--ignore-url .*/plutus-core/... | |
--ignore-url .*/plutus-core/AlwaysInline | |
--ignore-url .*/plutus-core/Barbies-Generics-Traversable.html | |
--ignore-url .*/plutus-core/Barbies-Internal-Containers.html | |
--ignore-url .*/plutus-core/Barbies-Internal-Trivial.html | |
--ignore-url .*/plutus-core/Basement-Bits.html | |
--ignore-url .*/plutus-core/Basement-Nat.html | |
--ignore-url .*/plutus-core/Basement-Numerical-Subtractive.html | |
--ignore-url .*/plutus-core/Basement-PrimType.html | |
--ignore-url .*/plutus-core/Basement-String-Encoding-ASCII7.html | |
--ignore-url .*/plutus-core/Basement-String-Encoding-ISO_8859_1.html | |
--ignore-url .*/plutus-core/Basement-String-Encoding-UTF16.html | |
--ignore-url .*/plutus-core/Basement-String-Encoding-UTF32.html | |
--ignore-url .*/plutus-core/Cardano-Crypto-DSIGN-Class.html | |
--ignore-url .*/plutus-core/Cardano-Crypto-DSIGN-EcdsaSecp256k1.html | |
--ignore-url .*/plutus-core/Cardano-Crypto-DSIGN-Ed25519.html | |
--ignore-url .*/plutus-core/Cardano-Crypto-DSIGN-SchnorrSecp256k1.html | |
--ignore-url .*/plutus-core/Cardano-Crypto-Hash-Class.html | |
--ignore-url .*/plutus-core/Cardano-Crypto-PackedBytes.html | |
--ignore-url .*/plutus-core/Cardano-Crypto-PinnedSizedBytes.html | |
--ignore-url .*/plutus-core/Cek-Internal.html | |
--ignore-url .*/plutus-core/Codec-CBOR-Read.html | |
--ignore-url .*/plutus-core/Codec-Serialise-Class.html | |
--ignore-url .*/plutus-core/Control-Applicative-Backwards.html | |
--ignore-url .*/plutus-core/Control-Applicative-Lift.html | |
--ignore-url .*/plutus-core/Control-Comonad-Cofree.html | |
--ignore-url .*/plutus-core/Control-Comonad-Trans-Cofree.html | |
--ignore-url .*/plutus-core/Control-Composition.html | |
--ignore-url .*/plutus-core/Control-Lens-At.html | |
--ignore-url .*/plutus-core/Control-Lens-Cons.html | |
--ignore-url .*/plutus-core/Control-Lens-Each.html | |
--ignore-url .*/plutus-core/Control-Lens-Internal-Exception.html | |
--ignore-url .*/plutus-core/Control-Lens-Internal-Indexed.html | |
--ignore-url .*/plutus-core/Control-Lens-Internal-Iso.html | |
--ignore-url .*/plutus-core/Control-Lens-Internal-Prism.html | |
--ignore-url .*/plutus-core/Control-Lens-Plated.html | |
--ignore-url .*/plutus-core/Control-Lens-Reified.html | |
--ignore-url .*/plutus-core/Control-Lens-Wrapped.html | |
--ignore-url .*/plutus-core/Control-Lens-Zoom.html | |
--ignore-url .*/plutus-core/Control-Monad-Free-Class.html | |
--ignore-url .*/plutus-core/Control-Monad-Free.html | |
--ignore-url .*/plutus-core/Control-Monad-Primitive.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Accum.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Cont.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Except.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Free.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Identity.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Maybe.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-RWS-CPS.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-RWS-Lazy.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-RWS-Strict.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Reader.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Resource-Internal.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Select.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-State-Lazy.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-State-Strict.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Writer-CPS.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Writer-Lazy.html | |
--ignore-url .*/plutus-core/Control-Monad-Trans-Writer-Strict.html | |
--ignore-url .*/plutus-core/Control-Search.html | |
--ignore-url .*/plutus-core/CostModelGeneration.html | |
--ignore-url .*/plutus-core/Crypto-ECC-Ed25519Donna.html | |
--ignore-url .*/plutus-core/Crypto-Error-Types.html | |
--ignore-url .*/plutus-core/Crypto-Hash-Types.html | |
--ignore-url .*/plutus-core/Data-Aeson-Key.html | |
--ignore-url .*/plutus-core/Data-Aeson-KeyMap.html | |
--ignore-url .*/plutus-core/Data-Aeson-Types-FromJSON.html | |
--ignore-url .*/plutus-core/Data-Aeson-Types-Internal.html | |
--ignore-url .*/plutus-core/Data-Aeson-Types-ToJSON.html | |
--ignore-url .*/plutus-core/Data-Attoparsec-Internal-Types.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Biff.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Clown.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Fix.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Flip.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Join.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Joker.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Product.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Sum.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Tannen.html | |
--ignore-url .*/plutus-core/Data-Bifunctor-Wrapped.html | |
--ignore-url .*/plutus-core/Data-Bimap.html | |
--ignore-url .*/plutus-core/Data-ByteString-Convert.html | |
--ignore-url .*/plutus-core/Data-ByteString-Internal-Type.html | |
--ignore-url .*/plutus-core/Data-ByteString-Lazy-Internal.html | |
--ignore-url .*/plutus-core/Data-ByteString-Short-Internal.html | |
--ignore-url .*/plutus-core/Data-Csv-Conversion.html | |
--ignore-url .*/plutus-core/Data-DList-DNonEmpty-Internal.html | |
--ignore-url .*/plutus-core/Data-DList-Internal.html | |
--ignore-url .*/plutus-core/Data-Default-Class.html | |
--ignore-url .*/plutus-core/Data-Dependent-Sum.html | |
--ignore-url .*/plutus-core/Data-Fix.html | |
--ignore-url .*/plutus-core/Data-Functor-Base.html | |
--ignore-url .*/plutus-core/Data-Functor-Constant.html | |
--ignore-url .*/plutus-core/Data-Functor-Foldable.html | |
--ignore-url .*/plutus-core/Data-Functor-Reverse.html | |
--ignore-url .*/plutus-core/Data-Functor-These.html | |
--ignore-url .*/plutus-core/Data-Functor-Yoneda.html | |
--ignore-url .*/plutus-core/Data-GADT-DeepSeq.html | |
--ignore-url .*/plutus-core/Data-GADT-Internal.html | |
--ignore-url .*/plutus-core/Data-HashMap-Internal-Array.html | |
--ignore-url .*/plutus-core/Data-HashMap-Internal.html | |
--ignore-url .*/plutus-core/Data-HashMap-Monoidal.html | |
--ignore-url .*/plutus-core/Data-HashSet-Internal.html | |
--ignore-url .*/plutus-core/Data-Hashable-Class.html | |
--ignore-url .*/plutus-core/Data-IntMap-Internal.html | |
--ignore-url .*/plutus-core/Data-IntSet-Internal.html | |
--ignore-url .*/plutus-core/Data-Map-Internal.html | |
--ignore-url .*/plutus-core/Data-MonoTraversable.html | |
--ignore-url .*/plutus-core/Data-MultiSet.html | |
--ignore-url .*/plutus-core/Data-Primitive-Array.html | |
--ignore-url .*/plutus-core/Data-Primitive-PrimArray.html | |
--ignore-url .*/plutus-core/Data-Primitive-SmallArray.html | |
--ignore-url .*/plutus-core/Data-Primitive-Types.html | |
--ignore-url .*/plutus-core/Data-Profunctor-Choice.html | |
--ignore-url .*/plutus-core/Data-Profunctor-Closed.html | |
--ignore-url .*/plutus-core/Data-Profunctor-Composition.html | |
--ignore-url .*/plutus-core/Data-Profunctor-Mapping.html | |
--ignore-url .*/plutus-core/Data-Profunctor-Strong.html | |
--ignore-url .*/plutus-core/Data-Profunctor-Types.html | |
--ignore-url .*/plutus-core/Data-Profunctor-Unsafe.html | |
--ignore-url .*/plutus-core/Data-RAList-Tree-Internal.html | |
--ignore-url .*/plutus-core/Data-Reflection.html | |
--ignore-url .*/plutus-core/Data-Scientific.html | |
--ignore-url .*/plutus-core/Data-Semigroup-Traversable-Class.html | |
--ignore-url .*/plutus-core/Data-Sequence-Internal.html | |
--ignore-url .*/plutus-core/Data-Sequences.html | |
--ignore-url .*/plutus-core/Data-Set-Internal.html | |
--ignore-url .*/plutus-core/Data-Some-GADT.html | |
--ignore-url .*/plutus-core/Data-Some-Newtype.html | |
--ignore-url .*/plutus-core/Data-Stream.html | |
--ignore-url .*/plutus-core/Data-Strict-Either.html | |
--ignore-url .*/plutus-core/Data-Strict-Maybe.html | |
--ignore-url .*/plutus-core/Data-Strict-These.html | |
--ignore-url .*/plutus-core/Data-Strict-Tuple.html | |
--ignore-url .*/plutus-core/Data-Tagged.html | |
--ignore-url .*/plutus-core/Data-Text-Encoding-Error.html | |
--ignore-url .*/plutus-core/Data-Text-Short-Internal.html | |
--ignore-url .*/plutus-core/Data-These.html | |
--ignore-url .*/plutus-core/Data-Time-Calendar-Days.html | |
--ignore-url .*/plutus-core/Data-Time-Clock-Internal-DiffTime.html | |
--ignore-url .*/plutus-core/Data-Time-Clock-Internal-NominalDiffTime.html | |
--ignore-url .*/plutus-core/Data-Time-Clock-Internal-UTCTime.html | |
--ignore-url .*/plutus-core/Data-Time-Clock-Internal-UniversalTime.html | |
--ignore-url .*/plutus-core/Data-Time-LocalTime-Internal-LocalTime.html | |
--ignore-url .*/plutus-core/Data-Time-LocalTime-Internal-ZonedTime.html | |
--ignore-url .*/plutus-core/Data-Tree.html | |
--ignore-url .*/plutus-core/Data-Tuple-Only.html | |
--ignore-url .*/plutus-core/Data-UUID-Types-Internal-Builder.html | |
--ignore-url .*/plutus-core/Data-UUID-Types-Internal.html | |
--ignore-url .*/plutus-core/Data-Vector-Primitive.html | |
--ignore-url .*/plutus-core/Data-Vector-Storable.html | |
--ignore-url .*/plutus-core/Data-Vector-Unboxed-Base.html | |
--ignore-url .*/plutus-core/Data-Vector.html | |
--ignore-url .*/plutus-core/Data.html | |
--ignore-url .*/plutus-core/Flat-Decoder-Types.html | |
--ignore-url .*/plutus-core/Flat-Filler.html | |
--ignore-url .*/plutus-core/GHC-Exts-Heap-ClosureTypes.html | |
--ignore-url .*/plutus-core/GHC-Exts-Heap-Closures.html | |
--ignore-url .*/plutus-core/GHC-Exts-Heap-InfoTable-Types.html | |
--ignore-url .*/plutus-core/GHC-Exts-Heap-ProfInfo-Types.html | |
--ignore-url .*/plutus-core/Hedgehog-Internal-Gen.html | |
--ignore-url .*/plutus-core/Hedgehog-Internal-Property.html | |
--ignore-url .*/plutus-core/Hedgehog-Internal-Tree.html | |
--ignore-url .*/plutus-core/Inline-CallSiteInline.html | |
--ignore-url .*/plutus-core/Language-Haskell-TH-Datatype.html | |
--ignore-url .*/plutus-core/Lens-Micro-Internal.html | |
--ignore-url .*/plutus-core/ListT.html | |
--ignore-url .*/plutus-core/N | |
--ignore-url .*/plutus-core/Network-URI.html | |
--ignore-url .*/plutus-core/NoThunks-Class.html | |
--ignore-url .*/plutus-core/Numeric-Half-Internal.html | |
--ignore-url .*/plutus-core/PLC.html | |
--ignore-url .*/plutus-core/PlutusLedgerApi-Common-SerialisedScript.html | |
--ignore-url .*/plutus-core/Prettyprinter-Internal.html | |
--ignore-url .*/plutus-core/Prismatically.html | |
--ignore-url .*/plutus-core/System-Console-Terminal-Common.html | |
--ignore-url .*/plutus-core/System-OsString-Internal-Types-Hidden.html | |
--ignore-url .*/plutus-core/System-Random-Internal.html | |
--ignore-url .*/plutus-core/System-Random-Stateful.html | |
--ignore-url .*/plutus-core/Test-QuickCheck-Arbitrary.html | |
--ignore-url .*/plutus-core/Test-QuickCheck-Function.html | |
--ignore-url .*/plutus-core/Test-QuickCheck-Gen.html | |
--ignore-url .*/plutus-core/Test-QuickCheck-GenT-Private.html | |
--ignore-url .*/plutus-core/Test-QuickCheck-GenT.html | |
--ignore-url .*/plutus-core/Test-QuickCheck-Modifiers.html | |
--ignore-url .*/plutus-core/Test-QuickCheck-Property.html | |
--ignore-url .*/plutus-core/Text-Megaparsec-Error.html | |
--ignore-url .*/plutus-core/Text-Megaparsec-Internal.html | |
--ignore-url .*/plutus-core/Text-Megaparsec-Pos.html | |
--ignore-url .*/plutus-core/Text-Megaparsec-State.html | |
--ignore-url .*/plutus-core/Text-PrettyPrint-Annotated-WL.html | |
--ignore-url .*/plutus-core/Utils.html | |
--ignore-url .*/plutus-core/WithIndex.html | |
--ignore-url .*/plutus-core/Witherable.html | |
--ignore-url .*/plutus-core/a_non_- | |
--ignore-url .*/plutus-core/folder | |
--ignore-url .*/plutus-core/input | |
--ignore-url .*/plutus-core/just_case_body | |
--ignore-url .*/plutus-core/name | |
--ignore-url .*/plutus-core/nothing_case_body | |
--ignore-url .*/plutus-ghc-stub/= | |
--ignore-url .*/plutus-ledger-api/Alonzo.html | |
--ignore-url .*/plutus-ledger-api/Control-Lens-Wrapped.html | |
--ignore-url .*/plutus-ledger-api/Control-Monad-Error-Class.html | |
--ignore-url .*/plutus-ledger-api/Control-Monad-Free.html | |
--ignore-url .*/plutus-ledger-api/Control-Monad-Trans-Free.html | |
--ignore-url .*/plutus-ledger-api/Control-Monad-Trans-Resource-Internal.html | |
--ignore-url .*/plutus-ledger-api/Crypto.html | |
--ignore-url .*/plutus-ledger-api/Data-Aeson-Types-FromJSON.html | |
--ignore-url .*/plutus-ledger-api/Data-Aeson-Types-ToJSON.html | |
--ignore-url .*/plutus-ledger-api/Data-Functor-Rep.html | |
--ignore-url .*/plutus-ledger-api/Data-Profunctor-Choice.html | |
--ignore-url .*/plutus-ledger-api/Data-Profunctor-Rep.html | |
--ignore-url .*/plutus-ledger-api/Data-Profunctor-Unsafe.html | |
--ignore-url .*/plutus-ledger-api/Data-Semigroup-Traversable-Class.html | |
--ignore-url .*/plutus-ledger-api/Data-Tagged.html | |
--ignore-url .*/plutus-ledger-api/Data-Time-Clock-POSIX.html | |
--ignore-url .*/plutus-ledger-api/GHC.html | |
--ignore-url .*/plutus-ledger-api/Hedgehog-Internal-Gen.html | |
--ignore-url .*/plutus-ledger-api/Hedgehog-Internal-Property.html | |
--ignore-url .*/plutus-ledger-api/Hedgehog-Internal-Tree.html | |
--ignore-url .*/plutus-ledger-api/ListT.html | |
--ignore-url .*/plutus-ledger-api/Prettyprinter-Internal.html | |
--ignore-url .*/plutus-tx-plugin/level | |
--ignore-url .*/plutus-tx/- | |
--ignore-url .*/plutus-tx/Algebra-Graph-Class.html | |
--ignore-url .*/plutus-tx/Basement-Bits.html | |
--ignore-url .*/plutus-tx/Basement-Monad.html | |
--ignore-url .*/plutus-tx/Basement-Numerical-Subtractive.html | |
--ignore-url .*/plutus-tx/Codec-Serialise-Class.html | |
--ignore-url .*/plutus-tx/Comment.html | |
--ignore-url .*/plutus-tx/Control-Lens-At.html | |
--ignore-url .*/plutus-tx/Control-Lens-Each.html | |
--ignore-url .*/plutus-tx/Control-Lens-Empty.html | |
--ignore-url .*/plutus-tx/Control-Monad-Error-Class.html | |
--ignore-url .*/plutus-tx/Control-Monad-Trans-Control.html | |
--ignore-url .*/plutus-tx/Data-Aeson-Types-FromJSON.html | |
--ignore-url .*/plutus-tx/Data-Aeson-Types-ToJSON.html | |
--ignore-url .*/plutus-tx/Data-Default-Class.html | |
--ignore-url .*/plutus-tx/Data-Functor-Foldable.html | |
--ignore-url .*/plutus-tx/Data-Hashable-Class.html | |
--ignore-url .*/plutus-tx/Data-Map-Lazy.html | |
--ignore-url .*/plutus-tx/Data-MonoTraversable.html | |
--ignore-url .*/plutus-tx/Data-Reflection.html | |
--ignore-url .*/plutus-tx/Data-Semigroup-Traversable-Class.html | |
--ignore-url .*/plutus-tx/Data-Vector-Unboxed-Base.html | |
--ignore-url .*/plutus-tx/Data.html | |
--ignore-url .*/plutus-tx/Description.html | |
--ignore-url .*/plutus-tx/GHC.html | |
--ignore-url .*/plutus-tx/Lens-Micro-Internal.html | |
--ignore-url .*/plutus-tx/P.html | |
--ignore-url .*/plutus-tx/PlutusTx-AssocMap-Map.html | |
--ignore-url .*/plutus-tx/Prettyprinter-Internal.html | |
--ignore-url .*/plutus-tx/Safe.html | |
--ignore-url .*/plutus-tx/System-Random-Internal.html | |
--ignore-url .*/plutus-tx/Text-PrettyPrint-Annotated-WL.html | |
--ignore-url .*/plutus-tx/Title.html | |
--ignore-url .*/plutus-tx/Unrolling.html | |
--ignore-url .*/plutus-tx/WithIndex.html | |
--ignore-url .*/prettyprinter-configurable/Prettyprinter.html | |
--ignore-url .*/plutus-core/src | |
--ignore-url .*/plutus-tx/src | |
--ignore-url .*/prettyprinter-configurable/src | |
) | |
URL="https://plutus.cardano.intersectmbo.org/haddock/${{ inputs.destination || github.ref_name }}" | |
nix develop --no-warn-dirty --accept-flake-config --command \ | |
linkchecker --no-warnings --check-extern --output failures "${URL}" "${IGNORE_URLS}" | |
if [ $? -ne 0 ]; then | |
echo "${URL} has broken links, see output above" | |
exit 1 | |
fi | |