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.14 #816

Merged
merged 83 commits into from
Feb 27, 2021
Merged

First small set for 0.14 #816

merged 83 commits into from
Feb 27, 2021

Conversation

f-f
Copy link
Member

@f-f f-f commented Feb 27, 2021

This provides an initial package set for the PureScript 0.14 compiler release. All core, contrib, web, and node libraries are included in the initial package set, along with any libraries that still compile from the last pre-0.14 package set. Any packages that no longer compile have been commented out and can be re-added once they are compatible with the 0.14 set.

This merge was done by checking each repo's Network page on GitHub to 
determine which version of the project should be used. If the project 
had a branch that could be merged into `master`, it was stated there. If 
it didn't, but had a fork with a branch that could be merged into 
master, this was stated. All other projects compiled on ps-0.14 in 
Jordan's original attempt and will need to be checked again after this 
commit.
…#716)

* Update CI: test if packages updated to 0.14 rc build without err/warn

* Override the metadata.version so package set works with spago

* Install psa so we can use `--strict` to fail on compiler warnings

* Verify CI fails when warnings are emitted by using older prelude

The older version of prelude uses a commit where all compiler errors are fixed but not all compiler warnings.

* Install packages via `updatedLibs.dhall`; test for errors & warnings via `usePsa.dhall`

CI will fail when compilation errors are emitted, but it won't fail when compiler warnings are emitted.
Due to the breaking changes, there will be many compiler warnings. Thus, we want CI to also fail when warnings are emitted. 

We can use `purescript-psa` to fail the build via the `--strict` flag. However, this only works on warnings emitted by
files in the `src` directory, not files found in dependency folders (e.g.  the `.spago` directory).

We get around this issue doing the following three steps:
1. Use spago via its `updatedLibs.dhall` file to download all the packages we need to test
2. Rename the `.spago` folder to `src`
3. Use spago via its `usePsa.dhall` file to compile all the packages that are now in the `src` directory
4. Spago calls `psa` behind the scenes with the `--strict` flag
5. If there are 0 warnings and errors, CI will pass. Otherwise, CI will fail.

* Refactor spago.dhall configuration

Due to the above workaround, we need to use two separate `spago.dhall` configuration files.
If we forget to override the packages' `metadata.version` field, spago will fail because of its internal check
and thus CI will also fail. Rather than needing to remember to update this in two separate places (i.e. updatedLibs.dhall and 
usePsa.dhall), we update it once shared.dhall.

* Update `prelude` back to `master` so CI passes again

Now that we've verified that CI fails when compiler warnings are emitted, we can revert our previous commit
and use the version of prelude that emits 0 compiler warnings and errors.
* Include effect as updated lib

* Add more libraries that are updated to v0.14.0

* Update libs' versions to master
JordanMartinez and others added 22 commits December 16, 2020 12:38
* Update package set to v0.14.0-rc5

* Remove generics-rep

* Add safe-coerce to newtype dependencies

* Temporarily remove argonaut-generic and parsing from packages built in CI

Co-authored-by: Jordan Martinez <[email protected]>
Undoes a temporary fix made in a previous PR, so that other changes 
could get in.
* Update dependencies of packages affected by `functors` migration

* Drop contravariant from profunctor

* Temporarily change `css` repo to fork with fix
…ion (#810)

* Update core, contrib, node and web libraries to their next major version

* Add string-parsers

* Add web-cssom

* Remove st from record dependencies

* Move halogen libraries to a new purescript-halogen group

* Move express to a new purescript-express group

* Move polyform to a new purescript-polyform group

* Rename the gcanti group to epicallan

* Rename the dwhitney group to f-f

* Move redis-client to a new purescript-node-contrib group

* Move spec-discovery and spec-quickcheck to the purescript-spec group

* Update src/groups/purescript.dhall

Co-authored-by: Thomas Honeyman <[email protected]>
* Add all libs in package set to be compiled during CI

* Comment out all instances of generics-rep dependency

* Exclude jquery

* Remove 'metadata' package

* Comment out packages that fail to compile

* Remove packages that depend on smolder

* Remove packages depending on protobuf

* Remove parseint

* Remove packages depending on foreign-generic

* Remove other packages that depend on spec

* Remove other packages depending on simple-json

* Remove struct and tolerant-argonaut

* Remove zeta

* Remove other packages with issues

* Fix typo

* Ignore other packages that faile to compile

* Remove packages depending on halogen

* Remove promises and subtlecrypto

Co-authored-by: Fabrizio Ferrai <[email protected]>
@f-f f-f merged commit 9f4d289 into master Feb 27, 2021
@f-f f-f deleted the prepare-0.14 branch February 27, 2021 13:12
@f-f f-f restored the prepare-0.14 branch February 27, 2021 13:12
@mergify mergify bot deleted the prepare-0.14 branch February 27, 2021 13:13
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.

4 participants