Skip to content
This repository was archived by the owner on Oct 19, 2024. It is now read-only.

Commit 436dce6

Browse files
authored
Prepare release 0.4 (#233)
1 parent 9a69a7b commit 436dce6

17 files changed

+118
-141
lines changed

RELEASE.md

+15-8
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
11
# Releasing a new version of Mu-Haskell
22

3+
This list assumes you have your Hackage username and password set in your `.cabal/config` file.
4+
35
1. Run `./test-schema.sh` and check that no errors are found
46
- If found, abort and open issue
5-
2. Run `./test-templates.sh` and check that no errors are found
7+
2. Check that you can build with all compilers, and update project files if required:
8+
- `stack build` (for the current LTS)
9+
- `stack build --stack-yaml stack-nightly.yaml` (for the next version)
10+
- `cabal build all`
11+
3. For each package, run the following commands:
12+
13+
```
14+
./release-package.sh <package> <version>
15+
```
16+
17+
4. Push and merge any pending changes
18+
5. Run `./test-templates.sh` and check that no errors are found
619
- If found, update templates in `templates` folder and open a PR
7-
3. Publish a new release in GitHub:
20+
6. Publish a new release in GitHub:
821
- Tag by running `git tag -a vX.Y -m "Release X.Y"`
922
- Push the tag `git push --tags`
1023
- Create a new release in [GitHub](https://github.com/higherkindness/mu-haskell/releases/new) for that tag, or if using [`hub`](https://hub.github.com/hub-release.1.html), run `hub release create vX.Y`
11-
5. For each package, run the following commands:
12-
- create the package: `cabal sdist package`
13-
- publish a candidate: `cabal upload route-to.tar.gz`, and check it
14-
- publish definitely: `cabal upload --publish route-to.tar.gz`
15-
- create the docs: `cabal v2-haddock --builddir="dist-newstyle" --haddock-for-hackage --enable-doc package`
16-
- publish docs: `cabal upload -d --publish route-to-docs.tar.gz`

adapter/avro/mu-avro.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ executable test-avro
5757
avro >=0.5.1 && <0.6
5858
, base >=4.12 && <5
5959
, bytestring >=0.10 && <0.11
60-
, mu-avro ==0.4.*
60+
, mu-avro
6161
, mu-schema ==0.3.*
6262

6363
hs-source-dirs: test

adapter/protobuf/mu-protobuf.cabal

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ library
4040
, mu-rpc ==0.4.*
4141
, mu-schema ==0.3.*
4242
, proto3-wire >=1.1 && < 2
43-
, servant-client-core >=0.16 && <0.17
43+
, servant-client-core >=0.16 && <0.19
4444
, sop-core >=0.5 && <0.6
4545
, template-haskell >=2.14 && <2.16
4646
, text >=1.2 && <2
@@ -54,7 +54,7 @@ executable test-protobuf
5454
build-depends:
5555
base >=4.12 && <5
5656
, bytestring
57-
, mu-protobuf >=0.3.0
57+
, mu-protobuf
5858
, mu-schema >=0.3.0
5959
, proto3-wire
6060
, text

cabal.project

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
allow-newer: http2, http2-client, template-haskell, proto3-wire
1+
allow-newer: base, network, foldl, http2, http2-client, template-haskell, proto3-wire, servant, swagger2, optics, optics-core
2+
3+
preferences: base16-bytestring < 1
24

35
packages: compendium-client/
46
core/schema/
@@ -27,3 +29,8 @@ source-repository-package
2729
type: git
2830
location: https://github.com/hasura/graphql-parser-hs.git
2931
tag: f4a093981ca5626982a17c2bfaad047cc0834a81
32+
33+
source-repository-package
34+
type: git
35+
location: https://github.com/haskell/c2hs.git
36+
tag: 20d3c8dedde83af91c4ac06486bf346316e07285

compendium-client/compendium-client.cabal

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: compendium-client
2-
version: 0.2.0.0
2+
version: 0.2.1.0
33
synopsis: Client for the Compendium schema server
44
description:
55
Client for the <https://github.com/higherkindness/compendium Compendium> schema server
@@ -27,8 +27,8 @@ library
2727
, http-client >=0.6.4 && <0.7
2828
, language-protobuf >=1.0.1 && <1.1
2929
, megaparsec >=8 && <9
30-
, servant >=0.16 && <0.17
31-
, servant-client >=0.16 && <0.17
30+
, servant >=0.16 && <0.19
31+
, servant-client >=0.16 && <0.19
3232
, text >=1.2 && <2
3333

3434
hs-source-dirs: src

core/lens/mu-lens.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ source-repository head
2222
library
2323
exposed-modules: Mu.Schema.Lens
2424
build-depends:
25-
base
25+
base >=4.12 && <5
2626
, containers
2727
, lens
2828
, generic-lens

core/schema/src/Mu/Schema/Interpretation/Schemaless.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ data FieldValue where
8181
-- Use this function to check a schemaless terms
8282
-- at the "borders" of your application.
8383
checkSchema
84-
:: forall (s :: Schema tn fn) (t :: tn).
84+
:: forall tn fn (s :: Schema tn fn) (t :: tn).
8585
(CheckSchema s (s :/: t))
8686
=> Proxy t -> Term -> Maybe (S.Term s (s :/: t))
8787
checkSchema _ = checkSchema'

default.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
let
2-
haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/2a15520.tar.gz) {};
2+
haskellNix = import (builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/53ed0a9.tar.gz) {};
33
nixpkgsSrc = haskellNix.sources.nixpkgs-2003;
44
nixpkgsArgs = haskellNix.nixpkgsArgs;
55
in

graphql/mu-graphql.cabal

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ library
3535
, base >=4.12 && <5
3636
, bytestring >=0.10 && <0.11
3737
, conduit >=1.3.2 && <2
38+
, foldl >=1.4 && <2
3839
, graphql-parser
3940
, http-types >=0.12 && <0.13
4041
, list-t >=1.0 && <2
@@ -70,7 +71,7 @@ executable library-graphql
7071
build-depends:
7172
base >=4.12 && <5
7273
, conduit >=1.3.2 && <1.4
73-
, mu-graphql ==0.4.*
74+
, mu-graphql
7475
, mu-rpc ==0.4.*
7576
, mu-schema ==0.3.*
7677
, regex-tdfa >=1.3 && <2

release-package.sh

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
3+
cabal sdist ${1}
4+
cabal upload dist-newstyle/sdist/${1}-${2}.tar.gz
5+
echo "Check that it has been published correctly, and press Enter"
6+
read
7+
cabal upload --publish dist-newstyle/sdist/${1}-${2}.tar.gz
8+
cabal v2-haddock --builddir="dist-newstyle" --haddock-for-hackage --enable-doc ${1}
9+
cabal upload -d --publish dist-newstyle/${1}-${2}-docs.tar.gz

servant/server/mu-servant-server.cabal

+23-23
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,21 @@ source-repository head
2323
library
2424
exposed-modules: Mu.Servant.Server
2525
build-depends:
26-
aeson >=1.4 && <2
27-
, async
28-
, base
29-
, conduit
30-
, generic-aeson
31-
, ghc-prim
32-
, mtl
33-
, mu-rpc
34-
, mu-schema
35-
, servant
36-
, servant-server
37-
, servant-swagger
38-
, stm
39-
, swagger2
40-
, utf8-string
26+
aeson >=1.4 && <2
27+
, async >=2.2 && < 3
28+
, base >=4.12 && <5
29+
, conduit >=1.3.2 && <2
30+
, generic-aeson >=0.2 && <0.3
31+
, ghc-prim >=0.5 && <0.7
32+
, mtl >=2.2 && <3
33+
, mu-rpc ==0.4.*
34+
, mu-schema ==0.3.*
35+
, servant >=0.16 && <0.19
36+
, servant-server >=0.16 && <0.19
37+
, servant-swagger >=1.1.7 && <2
38+
, stm >=2.5 && <3
39+
, swagger2 >=2.5 && <3
40+
, utf8-string >=1 && <2
4141

4242
hs-source-dirs: src
4343
default-language: Haskell2010
@@ -46,15 +46,15 @@ library
4646
executable servant-example-server
4747
main-is: ExampleServer.hs
4848
build-depends:
49-
aeson
50-
, base
51-
, conduit
52-
, mu-rpc
53-
, mu-schema
49+
aeson >=1.4 && <2
50+
, base >=4.12 && <5
51+
, conduit >=1.3.2 && <2
52+
, mu-rpc ==0.4.*
53+
, mu-schema ==0.3.*
5454
, mu-servant-server
55-
, servant-server
56-
, text
57-
, warp
55+
, servant-server >=0.16 && <0.19
56+
, text >=1.2 && <2
57+
, warp >=3.3 && <4
5858

5959
hs-source-dirs: exe
6060
default-language: Haskell2010

stack-14.yaml

-57
This file was deleted.

stack-nightly.yaml

+10-3
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,27 @@ extra-deps:
3030
- http2-client-grpc-0.8.0.0
3131
- http2-grpc-proto3-wire-0.1.0.0
3232
- http2-grpc-types-0.5.0.0
33-
- proto3-wire-1.1.0
33+
- proto3-wire-1.2.0
3434
- warp-grpc-0.4.0.1
3535
- hw-kafka-client-3.1.1
3636
- hw-kafka-conduit-2.7.0
3737
- tracing-control-0.0.6
3838
- wai-middleware-prometheus-1.0.0
3939
- git: https://github.com/hasura/graphql-parser-hs.git
4040
commit: f4a093981ca5626982a17c2bfaad047cc0834a81
41+
- generic-aeson-0.2.0.10
42+
- parameterized-0.5.0.0
4143
# Dropped in LTS 16
4244
- primitive-extras-0.8
4345
- primitive-unlifted-0.1.3.0
4446
- stm-hamt-1.2.0.4
4547
- stm-containers-1.1.0.4
4648
- stm-lifted-2.5.0.0
4749
# Dropped in last nightly
48-
- servant-client-0.16
49-
- servant-client-core-0.16
50+
- servant-blaze-0.9
51+
- servant-client-core-0.18
52+
- servant-client-0.18
53+
- servant-server-0.18
54+
- servant-swagger-1.1.10
55+
- servant-swagger-ui-core-0.3.3
56+
- servant-swagger-ui-0.3.4.3.23.11

stack.yaml

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resolver: lts-16.15
1+
resolver: lts-16.18
22
allow-newer: true
33

44
packages:
@@ -30,7 +30,7 @@ extra-deps:
3030
- http2-client-grpc-0.8.0.0
3131
- http2-grpc-proto3-wire-0.1.0.0
3232
- http2-grpc-types-0.5.0.0
33-
- proto3-wire-1.1.0
33+
- proto3-wire-1.2.0
3434
- warp-grpc-0.4.0.1
3535
- hw-kafka-client-3.1.1
3636
- hw-kafka-conduit-2.7.0
@@ -39,9 +39,16 @@ extra-deps:
3939
- git: https://github.com/hasura/graphql-parser-hs.git
4040
commit: f4a093981ca5626982a17c2bfaad047cc0834a81
4141
- generic-aeson-0.2.0.10
42+
- parameterized-0.5.0.0
4243
# Dropped in LTS 16
4344
- primitive-extras-0.8
4445
- primitive-unlifted-0.1.3.0
4546
- stm-hamt-1.2.0.4
4647
- stm-containers-1.1.0.4
4748
- stm-lifted-2.5.0.0
49+
# Updated servant
50+
- servant-0.18
51+
- servant-client-core-0.18
52+
- servant-client-0.18
53+
- servant-server-0.18
54+
- servant-swagger-1.1.10

templates/graphql-server.hsfiles

+8-8
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,23 @@ executable {{name}}
2020
build-depends:
2121
base >=4.12 && <5
2222
, conduit
23-
, mu-graphql >=0.3.0
24-
, mu-rpc >=0.3.0
25-
, mu-schema >=0.3.0
23+
, mu-graphql >=0.4.0
24+
, mu-rpc >=0.4.0
25+
, mu-schema >=0.3.1
2626
, text
2727
, wai-extra
2828
, warp
2929

3030

3131
{-# START_FILE stack.yaml #-}
32-
resolver: lts-15.8
32+
resolver: lts-16.18
3333
allow-newer: true
3434
extra-deps:
35-
- mu-schema-0.3.0.0
36-
- mu-rpc-0.3.0.0
37-
- mu-graphql-0.3.0.0
35+
- mu-schema-0.3.1.0
36+
- mu-rpc-0.3.4.0
37+
- mu-graphql-0.4.0.0
3838
- git: https://github.com/hasura/graphql-parser-hs.git
39-
commit: 1380495a7b3269b70a7ab3081d745a5f54171a9c
39+
commit: f4a093981ca5626982a17c2bfaad047cc0834a81
4040

4141
{-# START_FILE Setup.hs #-}
4242
import Distribution.Simple

0 commit comments

Comments
 (0)