-
Notifications
You must be signed in to change notification settings - Fork 88
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 hlint CI job #1290
Add hlint CI job #1290
Conversation
Transactions CostsSizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using
Script summary
Cost of Init Transaction
Cost of Commit TransactionThis is using ada-only outputs for better comparability.
Cost of CollectCom Transaction
Cost of Close Transaction
Cost of Contest Transaction
Cost of Abort TransactionSome variation because of random mixture of still initial and already committed outputs.
Cost of FanOut TransactionInvolves spending head output and burning head tokens. Uses ada-only UTxO for better comparability.
End-To-End Benchmark ResultsThis page is intended to collect the latest end-to-end benchmarks results produced by Hydra's Continuous Integration system from the latest Please take those results with a grain of salt as they are currently produced from very limited cloud VMs and not controlled hardware. Instead of focusing on the absolute results, the emphasis should be on relative results, eg. how the timings for a scenario evolve as the code changes. Generated at 2024-02-14 09:40:41.038121007 UTC Baseline Scenario
Baseline Scenario
|
e5c0e98
to
6599276
Compare
bd923f9
to
6599276
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this change overall, one question about apply-refact
and also this does not compile.
.github/workflows/hlint.yaml
Outdated
|
||
- name: 📐 Check hlint | ||
run: | | ||
nix develop .#fmt --command hlint . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should: Just expand the formatting workflow
We use the exact same shell as in the formatting
workflow, we should avoid preparing it twice. So I would suggest to move it as an additional step on the existing workflow.
In fact, the code formatting job in the formatting workflow should actually be even part of the ci-nix
workflow as we have also the exact same workflow trigger.
@@ -0,0 +1,2 @@ | |||
- ignore: {name: Redundant <$>, within: [Hydra.Contract.HeadTokens]} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should: Leave a hint on the corresponding code location
You mentioned that we can't have a local ignore pragma because of plutus-tx, but can we somehow make a link that we want to get rid of that change the next time when we recompile / change the script hashes?
@@ -0,0 +1,2 @@ | |||
- ignore: {name: Redundant <$>, within: [Hydra.Contract.HeadTokens]} | |||
- ignore: {name: Redundant compare, within: [Hydra.PartySpec]} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should: use a local ignore pragma or address this
This should be possible, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know really, GHC just doesn't like it when I do the suggestions in the docs.
hydra-node/exe/hydra-net/Main.hs
Outdated
( const | ||
(contramap TraceSendRecv tracer) | ||
, codecFireForget | ||
, fireForgetClientPeer $ client tracer sk party |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Must: fix this as it does not compile
This binary is not built by CI, so that's why we don't see it red. How did you apply the hlint suggestions? Seems like this broke.
@@ -45,6 +47,8 @@ let | |||
fourmolu | |||
cabal-fmt | |||
pkgs.nixpkgs-fmt | |||
hlint | |||
apply-refact |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this used for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For
hlint --refactor --refactor-options="-i"
applies everything.
b5c4f53
to
1c243f1
Compare
1c243f1
to
5d21e9c
Compare
5d21e9c
to
72cea3c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be great if we find alternatives to the .hlint.yaml
ignores, but this is good to go.
Adds hlint 3.8 and apply-refact 0.14.0.0 to devshell.
Adds an hlint github CI workflow.