Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/input-output-hk/plutus in…
Browse files Browse the repository at this point in the history
…to effectfully/builtins/make-BuiltinFailure-the-last-constructor
  • Loading branch information
effectfully committed May 30, 2024
2 parents 458d9be + 7b3fd3e commit d294c0e
Show file tree
Hide file tree
Showing 1,134 changed files with 21,583 additions and 4,471 deletions.
13 changes: 6 additions & 7 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ body:
A clear and specific description of what the bug is.
If applicable, add screenshots, config files and/or logs to help explain the problem.
validations:
required: true
required: false
- type: textarea
id: steps-to-reproduce
attributes:
Expand All @@ -28,27 +28,27 @@ body:
2. Click on '...'
3. Scroll down to '...'
validations:
required: true
required: false
- type: textarea
id: actual-result
attributes:
label: Actual Result
description: What is the reproducible outcome?
placeholder: See error...
validations:
required: true
required: false
- type: textarea
id: expected-result
attributes:
label: Expected Result
description: A clear and concise description of what you expected to happen.
placeholder: No errors observed.
validations:
required: true
required: false
- type: textarea
id: fix-it-yourself
attributes:
label: Describe the approach you would take to fix this
label: Describe the approach you would take to fix this
description: If you would like to work on this yourself (optional!), then let us know what approach you would take so we can advise you.
validations:
required: false
Expand All @@ -61,5 +61,4 @@ body:
Version: [e.g. 20.04]
Plutus: version or commit hash
validations:
required: true

required: false
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
name: Feature Request
description: Submit a feature request
#title: ""
labels: ["enhancement"]
#assignees:
# -
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request.
Please check the existing issues, [Plutus Docs](https://plutus.readthedocs.io/en/latest/) and [Cardano Stack Exchange](https://cardano.stackexchange.com/) before raising.
Please check the existing issues and [Plutus Docs](https://plutus.readthedocs.io/en/latest/) before raising.
- type: textarea
id: description
attributes:
Expand All @@ -23,4 +22,4 @@ body:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
required: false
38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/security_report.yml

This file was deleted.

49 changes: 42 additions & 7 deletions .github/workflows/add-triage-label.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# Whenever a new issue is opened, this workflow adds the "status: needs triage"
# label, unless the issue already has one of the "Internal" labels.

name: Add Triage Label
on:
issues:
types:
- reopened
- opened

jobs:
add-triage-label:
runs-on: ubuntu-latest
Expand All @@ -13,10 +17,41 @@ jobs:
- name: Run
uses: actions/github-script@v7
with:
script: |
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ["status: needs triage"]
})
script: |
const INTERNAL_LABELS = ["Internal", "status: triaged"];
async function getIssueLabels() {
const { data: labels } = await github.rest.issues.listLabelsOnIssue({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number
});
return labels.map(label => label.name);
}
async function issueHasInternalLabels() {
const labels = await getIssueLabels();
return INTERNAL_LABELS.some(item => labels.includes(item));
}
async function addNeedsTriageLabelToIssue() {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ["status: needs triage"]
});
}
try {
if (!await issueHasInternalLabels()) {
await addNeedsTriageLabelToIssue();
}
} catch (error) {
core.setFailed(`Error: ${error}`);
}
2 changes: 1 addition & 1 deletion .github/workflows/cost-model-bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v26
- uses: cachix/install-nix-action@V27
with:
extra_nix_config: |
experimental-features = nix-command flakes
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/haddock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ jobs:
name: github-pages
steps:
- uses: actions/checkout@v4
- uses: nixbuild/nix-quick-install-action@v27
- uses: nixbuild/nix-quick-install-action@v28
with:
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
4 changes: 2 additions & 2 deletions .github/workflows/longitudinal-benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
runs-on: [self-hosted, plutus-benchmark]
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v26
- uses: cachix/install-nix-action@V27
with:
nix_path: nixpkgs=channel:nixos-unstable

Expand All @@ -41,7 +41,7 @@ jobs:
run: git config core.hooksPath no-hooks

- name: Store benchmark result
uses: benchmark-action/github-action-benchmark@v1.19.3
uses: benchmark-action/github-action-benchmark@v1.20.3
with:
name: Plutus Benchmarks
tool: 'customSmallerIsBetter'
Expand Down
26 changes: 13 additions & 13 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,32 @@ name: Nightly Test Suite
on:
schedule:
- cron: 0 0 * * * # daily at midnight

workflow_dispatch: # or manually dispatch the job
inputs:
hedgehog-tests:
description: Numer of tests to run (--hedgehog-tests XXXXX)
required: false
default: "100000"

env:
HEDGEHOG_TESTS: ${{ github.event.inputs.hedgehog-tests || 100000 }}

jobs:
nightly-test-suite:
runs-on: ubuntu-latest
runs-on: [self-hosted, plutus-benchmark]
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Quick Install Nix
uses: cachix/install-nix-action@v26
with:
extra_nix_config: |
experimental-features = nix-command flakes
accept-flake-config = true
- name: plutus-core-nightly
if: always()
run: |
run: |
pushd plutus-core
nix run --no-warn-dirty --accept-flake-config .#plutus-core-test -- --hedgehog-tests 10000
nix run --no-warn-dirty --accept-flake-config .#plutus-core-test -- --hedgehog-tests $HEDGEHOG_TESTS
popd
- name: plutus-ir-nightly
if: always()
run: |
pushd plutus-core
nix run --no-warn-dirty --accept-flake-config .#plutus-ir-test -- --hedgehog-tests 10000
nix run --no-warn-dirty --accept-flake-config .#plutus-ir-test -- --hedgehog-tests $HEDGEHOG_TESTS
popd
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/[email protected]
with:
repository: IntersectMBO/plutus-tx-template
path: plutus-tx-template

- name: Checkout plutus
uses: actions/[email protected]
with:
path: plutus-tx-template/plutus

- name: Write cabal.project.local
uses: DamianReeves/[email protected]
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"
2 changes: 1 addition & 1 deletion .github/workflows/script-evaluation-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
uses: actions/checkout@v4

- name: Quick Install Nix
uses: cachix/install-nix-action@v26
uses: cachix/install-nix-action@V27
with:
extra_nix_config: |
experimental-features = nix-command flakes
Expand Down
21 changes: 10 additions & 11 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ If you _really_ cannot use Nix and still want to contribute to Plutus then xref:

=== Installing and setting up Nix

For instructions on how to install and configure nix (including how to enable access to our binary caches), refer to link:https://github.com/input-output-hk/iogx/blob/main/doc/nix-setup-guide.md[this document].
For instructions on how to install and configure nix (including how to enable access to our binary caches), refer to link:https://github.com/input-output-hk/iogx/blob/main/doc/nix-setup-guide.md[this document].

If you already have nix installed and setup, you may enter the development shell by running `nix develop`.

Expand Down Expand Up @@ -204,20 +204,20 @@ There are various tools for visualizing the resulting profile, e.g. https://hack
We have a set of supported GHC major versions, which are built in CI and which we commit to keeping working.

We also have a primary development version.
This is the version we use in the default dev shell, and the one we use day-to-day.
This is the version we use in the default dev shell, and the one we use day-to-day.
The primary development version should be whichever version the Cardano node is using (or migrating towards using).
Supported versions older than the primary development version are deprecated, and we can drop them as soon as the Cardano node has moved to a later GHC version.

At the moment, our supported GHC versions are:
- 8.10 (deprecated)
- 9.6 (primary)
- 9.8
- 9.8

=== Plugin support

Making `plutus-tx-plugin` work on multiple GHC versions can be painful, because it uses a lot of GHC internals.
Since the plugin is not in the dependency closure of the Cardano node, we don't _need_ to support all the GHC versions, which is helpful.
We mostly commit to supporting our primary development version, but we _may_ support other versions as well if it is easy.
We mostly commit to supporting our primary development version, but we _may_ support other versions as well if it is easy.

The plugin and its dependents should be marked as unbuildable with cabal conditionals on any non-supported major GHC versions.
This makes cabal behave reasonably well (it will ignore them and not try and fail to build them).
Expand Down Expand Up @@ -650,14 +650,13 @@ These perform some of the same checks as Hydra, but Github Actions is often more
== Project roles and responsibilities

- The regular contributors to the Haskell code, all of whom can review and merge PRs are:
- @michaelpj
- @ana-pantilie
- @bezirg
- @effectfully
- @kwxm
- @bezirg
- @thealmarty
- @Unisay
- @zliu41
- The maintainer of the documentation is @joseph-fajen.
- The maintainer of the Agda code is @jmchapman, @effectfully can help with small issues.
- If you have a technical dispute that you need help resolving, you can ask @michaelpj.
- For problems with the developer environment setup, builds, or CI, you can ask @zeme-iohk, @Pacman99, or @michaelpj.
- The regular contributors take turns releasing our software, but if you have a specific problem ask @zliu41 or @michaelpj.
- If you have a technical dispute that you need help resolving, you can ask @zliu41.
- For problems with the developer environment setup, builds, or CI, you can ask @zeme-iohk or @zliu41.
- The regular contributors take turns releasing our software, but if you have a specific problem ask @zliu41.
Loading

0 comments on commit d294c0e

Please sign in to comment.