Skip to content

Commit

Permalink
Add plutus-tx-template Release Instructions and GH Workflow (#5952)
Browse files Browse the repository at this point in the history
  • Loading branch information
zeme-wana authored and effectfully committed Aug 6, 2024
1 parent 595cfa5 commit 0fec625
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/haddock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
nix_conf: |
experimental-features = nix-command flakes
accept-flake-config = true
- name: Build haddock site
- name: Build Haddock Site
run: |
nix build .#combined-haddock
mkdir dist
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/plutus-tx-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# This workflows ensures that the plutus-tx-template repository stays working
# even if there are changes in plutus. It checks out both the current commit of
# plutus and the master branch of plutus-tx-template. Then, it creates a
# cabal.project.local for plutus-tx-template that adjusts the plutus version.
# Finally, it double-checks that everything still builds correctly using cabal
# inside the devx shell.

name: Plutus Tx Template

on:
pull_request:

jobs:
plutus-tx-template:
name: Build
runs-on: ubuntu-latest
steps:

- name: Checkout plutus-tx-template
uses: actions/checkout@v4.1.4
with:
repository: IntersectMBO/plutus-tx-template
path: plutus-tx-template

- name: Checkout plutus
uses: actions/checkout@v4.1.4
with:
path: plutus-tx-template/plutus

- name: Write cabal.project.local
uses: DamianReeves/write-file-action@v1.3
with:
path: plutus-tx-template/cabal.project.local
write-mode: overwrite
contents: |
packages:
plutus/plutus-tx
plutus/plutus-tx-plugin
plutus/plutus-core
plutus/plutus-ledger-api
plutus/prettyprinter-configurable
allow-newer:
plutus-tx
, plutus-tx-plugin
, plutus-core
, plutus-ledger-api
, prettyprinter-configurable
- name: Build Project With Docker
run: |
cd plutus-tx-template
ls -la
docker run \
-v ./.:/workspaces/plutus-tx-template \
-w /workspaces/plutus-tx-template \
-i ghcr.io/input-output-hk/devx-devcontainer:x86_64-linux.ghc96-iog \
bash -ic "cabal update && cabal run plutus-tx-template && test -e validator.uplc"
6 changes: 6 additions & 0 deletions RELEASE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,12 @@ Another example is if a security audit is done on `rc1`, and the changes in `rc2
- Update the CHaP index state in `cabal.project`.
- Update the CHaP flake input with `nix flake update CHaP`. If you get "error: cannot find flake 'flake:CHaP' in the flake registries" your nix installation probably needs to be updated.

9. Make a PR to update the version used in `plutus-tx-template`
- Navigate to the https://github.com/IntersectMBO/plutus-tx-template/actions/workflows/bump-plutus-version.yml[Bump Plutus Version Action] on GitHub
- Click the `Run workflow` button on the right, enter the new release version and confirm
- This will automatically open a PR in `plutus-tx-template` with auto-merge enabled
- Ensure that CI is green and the PR gets merged

=== Patch Releases

Suppose we are releasing version `x.y.z.w`.
Expand Down

0 comments on commit 0fec625

Please sign in to comment.