-
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
Replace hlint shell job with check derivation #1308
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-21 20:38:06.038979975 UTC Baseline Scenario
Baseline Scenario
|
a58a3bb
to
e51af42
Compare
e51af42
to
6ee58c0
Compare
@@ -33,6 +37,9 @@ | |||
(system: | |||
let | |||
pkgs = import inputs.nixpkgs { inherit system; }; | |||
tools = { | |||
hlint = hydraProject.pkgs.haskell-nix.tool hydraProject.compiler "hlint" "3.8"; | |||
}; |
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 would prefer it the other way around. i.e. put tools
into the hydraProject
expression (if this is possible?)
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 would first bring the pkgs expression up to the flake.nix before attempting that. I don't think there is a need to match on more than one pkgs.
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.
So you mean the haskell.nix enhanced packages (here hydraProject.pkgs
) merged into the nixpkgs pkgs
?
That would make sense to me as well. It just seemed odd that the hydraProject.compiler
is passed into this expression again, while it would be already available in there.
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.
Yes, resolve the pkgs expression first with the iohk overlays included as the first binding and then use that in the whole program.
6ee58c0
to
195c8f1
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.
This seems very nix specific, what's the impact for anyone that would want to use our stuff without using nix?
They can use hlint in the shell normally, but we could take steps to display what shell command are being run by the check in the CI. |
I think there is no direct impact, other than the CI checking the code (already enabled) and users needing to follow suit before it's accepted. So maybe we should add instructions how to lint to |
195c8f1
to
063d931
Compare
063d931
to
05d6db2
Compare
05d6db2
to
1d10c8f
Compare
1d10c8f
to
82633f7
Compare
This PR introduces lint-utils to demonstrate two principles.
It does this by way of introducing a check derivation that produces no functional output, but will fail if the check is not met.
lint-utils is well supported by multiple people and in use commercially by third-parties