Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions .github/workflows/bump-plutus-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ jobs:

- name: Change Plutus Versions
run: |
set -o pipefail

PLUTUS_VERSION=${{ github.event.inputs.version }}

# Derive hackage index-state from the flake-pinned hackage commit,
Expand All @@ -36,14 +38,22 @@ jobs:
HACKAGE_EPOCH=$((HACKAGE_EPOCH - 7200))
HACKAGE_DATE=$(date -u -d "@$HACKAGE_EPOCH" +"%Y-%m-%dT%H:%M:%SZ")

# For CHaP, use the foliage timestamp of the specific plutus-core version
# being bumped. This is the exact index-state at which the package appears
# in the CHaP index — independent of CHaP's git commit timestamp, which can
# be arbitrarily newer (e.g. ghost automation re-runs with 0 file changes).
# For CHaP, read the index that ships inside the flake-pinned repository:
# the mtimes of the entries in 01-index.tar.gz ARE the index-states, so
# the newest one is the exact latest index-state of the pinned CHaP —
# independent of CHaP's git commit timestamp, which can be arbitrarily
# newer (e.g. ghost automation re-runs with 0 file changes).
CHAP_REV=$(jq -r '.nodes.CHaP.locked.rev' flake.lock)
CHAP_DATE=$(gh api \
"repos/IntersectMBO/cardano-haskell-packages/contents/_sources/plutus-core/${PLUTUS_VERSION}/meta.toml?ref=${CHAP_REV}" \
--jq '.content' | base64 -d | grep '^timestamp' | awk '{print $3}' | tr -d '"')
CHAP_DATE=$(curl -fsSL \
"https://raw.githubusercontent.com/IntersectMBO/cardano-haskell-packages/${CHAP_REV}/01-index.tar.gz" \
| tar -tvz --full-time -f - \
| grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}' \
| sort | tail -1 | sed 's/ /T/;s/$/Z/')

if [ -z "$CHAP_DATE" ]; then
echo "Failed to determine CHaP index-state" >&2
exit 1
fi

sed -i "s/\(hackage.haskell.org \).*$/\1$HACKAGE_DATE/" cabal.project
sed -i "s/\(cardano-haskell-packages \).*$/\1$CHAP_DATE/" cabal.project
Expand Down
4 changes: 2 additions & 2 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ repository cardano-haskell-packages

index-state:
-- Bump both the following dates if you need newer packages from Hackage
, hackage.haskell.org 2026-05-22T05:43:37Z
, hackage.haskell.org 2026-07-14T11:13:58Z
-- Bump this if you need newer packages from CHaP
, cardano-haskell-packages 2026-05-22T05:43:37Z
, cardano-haskell-packages 2026-07-13T07:20:00Z

packages:
./.
12 changes: 6 additions & 6 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions plinth-template.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ common plinth-options

common plutus-deps
build-depends:
, plutus-core ^>=1.65.0.0
, plutus-ledger-api ^>=1.65.0.0
, plutus-tx ^>=1.65.0.0
, plutus-tx-plugin ^>=1.65.0.0
, plutus-core ^>=1.66.0.0
, plutus-ledger-api ^>=1.66.0.0
, plutus-tx ^>=1.66.0.0
, plutus-tx-plugin ^>=1.66.0.0

library plinth-validators
import: plinth-options, plutus-deps
Expand Down
Loading