input-output-hk / input-output-hk/Developer-Experience-working-group

Ecosystem-wide compatibility and build systems

Open
#24 20 comments 2 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
24
Forks
14
PR merge metrics
No merged PRs in 30d

Description

Broadly speaking, the Cardano Ecosystem relies heavily on Nix.

While Nix can help lead a project to reproducible builds, it can make the process of upgrading dependencies very difficult to manage.

In other Ecosystems (Haskell, Nodejs/npm, etc), a 'constraint-solver' algorithm is used to determine the packages that are known to build together. Haskell's ecosystem has also produced 'Stackage' which creates sets of packages that are known to build together, this makes it easier for library maintainers to see when their library has lost compatibility with a particular package, and for users to know which of their dependencies may not be ready for an upgrade.

unfortunately this infrastructure is not currently available in the Cardano ecosystem. Two solutions are apparent:
- work on integrating the cardano ecosystem with the mainstream Haskell ecosystem in hopes of being included in Stackage nightly images
- create our own version of stackage or a similar toolchain/CI system to validate builds for developers.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or concrete entry points are named. Start by comparing the two proposed directions—Haskell/Stackage integration or a Cardano-specific constraint-solver and CI toolchain—and define a bounded implementation plan with a demonstrable set of packages that build together.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell, nodejs
Domain
build-system, ci-cd, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.