Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add plutus-tx-template Release Instructions and GH Workflow #5952

Merged
merged 10 commits into from
May 6, 2024
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
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