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

Update dependencies to LTS 14.5 #2

Merged
merged 17 commits into from
Sep 14, 2019
Merged

Update dependencies to LTS 14.5 #2

merged 17 commits into from
Sep 14, 2019

Conversation

sshine
Copy link
Contributor

@sshine sshine commented Sep 12, 2019

  • Bump version from 0.0.3 to 0.1.0.
  • Update dependency on 'aeson' from <1.3 to <1.5.
  • Update dependency on 'th-abstraction from <0.3 to <0.4.
  • Update dependency on 'lens' from <4.17 to <4.18.
  • Remove dependency on 'base-compat'.

As it's a little unclear why 'base-compat' was necessary, it's estimated
that it no longer is, since it compiles without and we are in the future
now.

The PVP states:

Note that modifying imports or depending on a newer version of another
package may cause extra non-orphan instances to be exported and thus
force a minor version change.

As I am unsure if any of the bumped dependencies cause extra non-orphan
instances, but all of them bump the minor version, a safe choice is to
bump this package's minor version.

- Bump version from 0.0.3 to 0.1.0.
- Update dependency on 'aeson' from <1.3 to <1.5.
- Update dependency on 'th-abstraction from <0.3 to <0.4.
- Update dependency on 'lens' from <4.17 to <4.18.
- Remove dependency on 'base-compat'.

As it's a little unclear why 'base-compat' was necessary, it's estimated
that it no longer is, since it compiles without and we are in the future
now.

The PVP states:

> Note that modifying imports or depending on a newer version of another
> package may cause extra non-orphan instances to be exported and thus
> force a minor version change.

As I am unsure if any of the bumped dependencies cause extra non-orphan
instances, but all of them bump the minor version, a safe choice is to
bump this package's minor version.
@sshine
Copy link
Contributor Author

sshine commented Sep 12, 2019

I noticed there wasn't a stack.yaml, would you like there to be one?

It might look like:

resolver: lts-14.5
packages:
  - .

According to the Haskell core library committee's [3-Release-Policy][1]
this means that we're free from CPP directives. Supporting GHC <8.4 will
mean that we have to deal with the [Semigroup-Monoid Proposal][2].

[1]: https://prime.haskell.org/wiki/Libraries/3-Release-Policy
[2]: https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid
@sshine
Copy link
Contributor Author

sshine commented Sep 12, 2019

The 7.10.2, 8.0.2, 8.2.2 builds break because of import Data.Monoid.

I'm curious as to how backwards compatible you want the package to be. Until I know, I'm assuming 8.8, 8.6 and 8.4 as the 3 release policy means that CPP can be avoided.

It seems that there are lots of problems related to GHC 8.8.1, so I'll
try and limit experiments to one at a time.
This should resolve the following warning:

Warning: Unknown/unsupported 'ghc' version detected (Cabal 2.4.1.0
supports 'ghc' version < 8.7): /opt/ghc/8.8.1/bin/ghc is version 8.8.1
I can't seem to find any tests or benchmarks, so these parameters are disabled for now.
In order to build with GHC 8.8.
Since 'language: haskell' already uses this PPA, write 'cabal: 3.0'
It seems that the dependency errors for GHC 8.8.1 can be fixed.

Adding previously supported versions back to Travis CI so that they
intentionally break.
@sshine
Copy link
Contributor Author

sshine commented Sep 13, 2019

It turns out that aeson-diff depends on base <4.13, so that needs an upstream bump to work on GHC 8.8.1. I'll look at earlier GHC versions than 8.4.4 once I get this working.

Copy link
Contributor Author

@sshine sshine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The package is currently in a state where it builds successfully on 7.10.2--8.6.5.

I have a bit of cleaning up to do in terms of adding features back to .travis.yml.

I'd like to ensure that we check the necessary things for being able to add this package to Stackage.

Notice that I've reduced build times: this CI build uses 18m6s, 23m30s, 5m5s compared to this CI build which uses 2m15s, 2m32s, 2m7s, 2m36s, 2m16s, 3m16s.

Data/Aeson/Diff/Generic/Instances.hs Show resolved Hide resolved
aeson-diff-generic.cabal Show resolved Hide resolved
stack.yaml Show resolved Hide resolved
aeson-diff-generic.cabal Show resolved Hide resolved
aeson-diff-generic.cabal Outdated Show resolved Hide resolved
- cabal test
- cabal check
- cabal haddock # tests that documentation can be generated
- cabal sdist # tests that a source-distribution can be generated
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the process of modernizing .travis.yml I've removed checks for haddock and sdist generation that need to be put back.

@kuribas kuribas merged commit b0c85c2 into kuribas:master Sep 14, 2019
@kuribas
Copy link
Owner

kuribas commented Sep 14, 2019

Thanks for your work!

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.

None yet

2 participants