Skip to content
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

First small set for 0.15 #1075

Merged
merged 89 commits into from
Apr 28, 2022
Merged

First small set for 0.15 #1075

merged 89 commits into from
Apr 28, 2022

Conversation

JordanMartinez
Copy link
Contributor

The prepare-0.15 branch will be the main target for merging v0.15.0-compatible packages into the initial v0.15.0-compatible package set. This is similar to what we did in the v0.14.0 ecosystem update (see #816). Right now, this set will not function until the core libraries are updated. We'll then add the contrib, web, and node libraries to this package set later.

Some libraries will work immediately after their dependencies compile. We can add those packages back to the package set once that occurs

Other libraries will work once their dependencies compile AND the author updates the library due to breaking changes.

This PR should not be used to quickly catch via CI any issues across the core, contrib, web, and node libraries as we update the ecosystem (e.g. #799). Rather, a separate PR can be created that triggers CI to check for specific issues until they are resolved.

@thomashoneyman
Copy link
Member

We'll need this before CI will build: purescript/registry#359

@JordanMartinez
Copy link
Contributor Author

In the last breaking release, we used a package set to verify that all core, contrib, web, and node libraries still compiled as we came across issues in the Coercible PR. However, this repo depends on something outside of core, easy-purescript-nix, which does not yet include the alpha release in its list of purs. justinwoo/easy-purescript-nix#187 added the alpha 01 release, but wasn't merged and did not get any feedback.

Is there a way to bypass this on our side? I'm not sure whether an alpha release should be in easy-purescript-nix, but this PR won't even start to compile until we can use v0.15.0 in CI.

@thomashoneyman
Copy link
Member

As a stopgap solution we can point to the fork instead of easy-purescript-nix directly. In the long term it really would be better not to depend on that external repository for anything in core.

@JordanMartinez
Copy link
Contributor Author

How do I pre-compute the sha256 hash? I tried using nix-fetch-git by running this script locally.

@thomashoneyman
Copy link
Member

thomashoneyman commented Mar 14, 2022

I think you're looking for nix-prefetch-git:

λ nix-prefetch-git https:/jordanmartinez/easy-purescript-nix

@thomashoneyman
Copy link
Member

thomashoneyman commented Mar 14, 2022

Oops, your 0.15 code is on the prepare-0.15 branch, so you want:

λ nix-prefetch-git https:/jordanmartinez/easy-purescript-nix --branch-name prepare-0.15
Initialized empty Git repository in /private/var/folders/yp/8s4nn7xs4nn2y854d46lqf680000gn/T/git-checkout-tmp-fdsOZJrY/easy-purescript-nix/.git/
remote: Enumerating objects: 54, done.
remote: Counting objects: 100% (54/54), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 54 (delta 18), reused 24 (delta 2), pack-reused 0
Unpacking objects: 100% (54/54), 36.02 KiB | 1.09 MiB/s, done.
From https:/jordanmartinez/easy-purescript-nix
 * branch            HEAD       -> FETCH_HEAD
Switched to a new branch 'prepare-0.15'
removing `.git'...

git revision is 3630943b74f681289ed87a0ed6c3e502556ddebb
path is /nix/store/irjdyrz88m9c96k13pqfdyqny4lgk5ii-easy-purescript-nix
git human-readable version is -- none --
Commit date is 2022-02-14 09:31:58 +0200
hash is 1i7zqda52npklj3d7pq80zw5rfjjzdqpl5bdrsp6vchg5frgj6ky
{
  "url": "https:/jordanmartinez/easy-purescript-nix",
  "rev": "3630943b74f681289ed87a0ed6c3e502556ddebb",
  "date": "2022-02-14T09:31:58+02:00",
  "path": "/nix/store/irjdyrz88m9c96k13pqfdyqny4lgk5ii-easy-purescript-nix",
  "sha256": "1i7zqda52npklj3d7pq80zw5rfjjzdqpl5bdrsp6vchg5frgj6ky",
  "fetchLFS": false,
  "fetchSubmodules": false,
  "deepClone": false,
  "leaveDotGit": false
}

Specifically, this means the rev and sha fields should be:

  "rev": "3630943b74f681289ed87a0ed6c3e502556ddebb",
  "sha256": "1i7zqda52npklj3d7pq80zw5rfjjzdqpl5bdrsp6vchg5frgj6ky",

@JordanMartinez
Copy link
Contributor Author

Alright! CI is failing, but it's only because arrays doesn't compile yet, which is what we're currently on. There's some other warnings, but we'll deal with them separately.

@JordanMartinez
Copy link
Contributor Author

MonadZero class and instances were removed. Just verifying that the package set still builds.

css depends on colors which is not in contrib
toolkit depends on aff-promise,
which is not in contrib
@JordanMartinez
Copy link
Contributor Author

We'll need to update affjax-web and affjax-node for these changes:

@thomashoneyman
Copy link
Member

@JordanMartinez done!

@JordanMartinez
Copy link
Contributor Author

Thanks!

@JordanMartinez
Copy link
Contributor Author

Once this gets merged, we should update the easy-ps code to refer to the original repo, not my fork.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants