-
Notifications
You must be signed in to change notification settings - Fork 220
Migrate dhall-{bash,json,text}
into this repository
#661
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
Conversation
The motivation for this change is: * To catch build failures in downstream packages whenever we make a breaking change to the `dhall` API * To reduce the amount of work I need in order to cut a release for all of these packages * To better share Nix/CI-related logic between the projects Note that I have not yet migrated `dhall-nix` in. I'm waiting for dhall-lang/dhall-nix#17 to be fixed since `dhall-nix` is incompatible with later versions of `megaparsec` due to `hnix`.
Wow, the repo is going to be really big and devs will have to download all of them. Otoh the possible projects to join could grow (dhall-to-cabal f.e.?) |
Uh, it’s going to be in the low megabytes. Big +1 on consolidating into one repo. Those tools belong together. |
@jneira: It's only 13 MB large, 9 MB of which is just the Other downstream Haskell projects don't have to merge into this one. I chose these ones because I maintain all of them and I often release all four projects in sync with one another. However, other downstream projects are welcome to merge into here if they want. The benefit of merging in downstream repositories is:
You can find a similar idiom in other groups of Haskell projects like |
I'd argue that all the ci benefits you talk about have nothing to do with using a mono repo. Hydra is perfectly capable of giving you the guarantees you need with multiple inputs. If it's easier to manage by all means go for it, but we should be clear about what is truly attained with this. |
Sorry, "big" was not the correct word. I wanted to mean that you have to handle all the projects always and maybe you are interested in a subset of them in some context or for some task. |
@ocharles: What I meant was: Suppose that I need to override the version of the |
This fixes two mistakes when merging the projects: * Now the root package of the `dhall-{bash,json,text}` tarballs is statically linked * Now `dhall` is not statically linked when built as a dependency of a statically linked package
Apparently the call to `statify` has to be done within the override section for reasons that are mysterious to me This also avoids building the tarballs with coverage checking enabled
I will go ahead and merge this, then. The reason I'm not pausing for a long review period is because this will conflict with any in-progress branch as long as this pull request remains open (such as #662) and I'm reasonably certain that my mind is made up to merge these repositories. |
I wish I had noticed that this has lost all history of these repositories :( It's a shame, and it would have been possible to retain that with tree rewriting on the original repositories when merging them into here. |
@ocharles: Yeah, that's my mistake. I agree that it would have been better to preserve history but I spaced out when merging them in Also, to be totally pedantic, you don't need to do any tree rewriting to preserve history, but you do if you want the history to be useful by appearing to have been underneath a subdirectory all along. If it's any consolation, the history was not that interesting. The vast majority of changes were just fixing downstream repositories to build against the latest version of |
The motivation for this change is:
change to the
dhall
APIthese packages
Note that I have not yet migrated
dhall-nix
in. I'm waiting fordhall-lang/dhall-nix#17 to be fixed since
dhall-nix
is incompatible with later versions ofmegaparsec
due tohnix
.