Merge pull request #49 from Benjmhart/minutes-2023-01-24
minutes
minutes
# Minutes for Developer Experience Working Group - January 24, 2023
Attendance
Alexeusgr
Andrew Westberg
Ben Hart
Ignacio
Jon Bauer
Matthias[LOXE]
Philip DiSarro
Sebastian Pabon
Simon Thompson
Steve Lockhart
The Ancient Kraken
Titan-C
Waalge
Minutes
1. Nix
- Alex: I made contact with Nix maintainers and we may be able to establish a relationship with them - I'm not personally sure what difficulties people have with nix currently as it seems quite project-specific.
- Ben: Open call for nix difficulties - I recall Simon and I having a conversation about how nix can be a double-edged sword, but this may be about the difficulty of build pipelines, however nix itself has pushed some bugs/regressions and often neglects mac support.
- Waalge: What is the history or context of haskell.nix?
- Ben: I can link a video that describes the origin story, it's tied to difficulty when doing profiled builds with cabal2nix, which would be the non-IOG. Our (Mlabs) issues with haskell.nix is that we feel that we could speed up builds significantly with experimental nix features, particularly recursive nix - but it's not trivial work.
- Simon: We can try to bring MPJ in to a future meeting to discuss problems
- Ben: CHaP may eventually allow us to get away from nix altogether.
- Phillip: This is a bit of a segueway into plutus starter, but when i teach new developers at Emurgo, Nix is a huge barrier. A tremendous amount of investment has gone into docker and it runs the entire rest of the mainstream software world - We should make serious efforts to provide as many containers as possible?
- Ben: any experience with Arion? it's a nix wrapper around docker that may help us bridge the gap.
2. Plutus Starter
- Phillip: The plutus-starter repo is really good, it's a docker container that gives you everything you need to get started - it's just got a maintenance issue around mac compatibility and plutus v2 support.
- Ben: It appears to be Konstantinos L. maintaining it.
- Simon: This feels like low hanging fruit, perhaps we can make some progress here and get some real results.
- Ben: Phillip and I can get some documentation around this in our issues/proposals so that we test out the flow and see what success on a devexp working group initiative looks like.
3. CI/CD workflow
- Ben: I spoke to Alex Appledoorn last week and it seems that there's some work going on with Lace that can have an enormous impact on developer workflows. Lace is about to open source support for working with a local private network. I can't undervalue this work to you, it's quite huge for developer workflow, it will be the first light wallet to support arbitrary networks end-to-end. This will allow E2E testing and live dApp debugging. All i'm asking for is for IOG to announce victory here and flaunt it. document it really well and tell everyone. it's also a differentiating feature for lace that could make lace the default wallet for developers. Especially if the memory footprint for all the infrastructure is 32GB or less (blockfrost requires 64gigs)
- Phillip: Many developers who go through the plutus pioneer program are taught to debug using the emulator - which is not really good integration testing. Lucid now has an emulator - but working with a real private chain is a whole different and much better experience.
- Simon: I'll let some of the technical leads on lace know about this too.
- Ben: One key usecase is being able to run scripts with tracing enabled - this can't be done on any public testnet as it requires a config change from Mainnet..
4. upcoming agenda (& guests)
- next week: testing (Bruno/Romain from Certification)
- two weeks out: devops/nix (MPJ/Angermann?)
- three weeks out: Plutus Starter (Konstantinos L)
3815: Cleanup nix setup: remove unused cabal shell r=Unisay a=Unisay ### Overview This pull request cleans up our `flake.nix` configuration by * removing the unused `cabal-shell.nix` * making explicit which shell is created when doing `nix develop` (it's `….devShells.default`). ### Issue Number ADP-2447 Co-authored-by: Yura Lazarev <[email protected]>
fix CI not running on bors branches
5023: fix CI not running on bors branches r=disassembler a=dermetfan Looks like this was broken in #4930 as `prAndBorsIo` was added but not used. Also removed `nix` from the task name. I do not see what purpose it has and it makes the names unnecessarily long. Also we happen to need the old names in #5018. Co-authored-by: Robin Stumm <[email protected]>
I don't trust it. Compare these two runs: 1. https://github.com/input-output-hk/cardano-haskell-packages/actions/runs/4532746158/jobs/7984714895 2. https://github.com/input-output-hk/cardano-haskell-packages/actions/runs/4516172089/jobs/7954255360 The second is on the parent commit of the first, the commit itself is a no-op, and yet the derivations they build are not the same! Doing the same locally, I get a) a different derivation, but b) the same derivation for both. I conclude that what the CI is doing is questionable, the cache seems like the most likely source of pollution. I suspect whatever is causing this was also responsible for the no-op PR spending a lot of time building tons of stuff.
* Update readme (cli flags, comment dsl, new format) * Document the comment DSL * Document CLI flags * Mention new split rust/wasm output structure * Remove unsupported section (to handle in issues instead as this tends to get very outdated) * respond to comments + add supported.cddl * minor fixes for comment placement in supported.cddl + remove unsupported optional fixed value from example
There's an issue with the `deriving via` clause for OneEraHeader: * `show`ing a `NS Header (CardanoEras StandardCrypto BatchCompatibleCrypto)` works fine * `show`ing a `OneEraHeader (CardanoEras ...)` yields the annoying error message about not being able to handle 2 different cryptos Using forAllBlind in the property removes the QC requirement to be able to `Show` the generated values which makes it work.
Co-authored-by: Sebastien Guillemot <[email protected]>
5018: Use ouroboros-network-0.3.0.2 and ouroboros-network-framework-0.2.0.1 r=dermetfan a=coot Co-authored-by: Marcin Szamotulski <[email protected]> Co-authored-by: Samuel Leathers <[email protected]>