Skip to content

Commit

Permalink
Merge branch 'release-4.0'. Close #532.
Browse files Browse the repository at this point in the history
**Description**

Version 4 of Copilot is ready and should be closed and published on
Hackage.

**Type**

- Management: release and publication.

**Additional context**

None.

**Requester**

- Ivan Perez.

**Method to check presence of bug**

Not applicable (not a bug).

**Expected result**

- Cabal files indicate new version number, constraints are adjusted as
  needed, commit is tagged with version number, and packages are
  published on Hackage.

- The following docker image installs copilot enforcing the new version
  via compiler constraints. It prints the message "Success" at the end
  if all completes correctly, and shows an error message otherwise.

```Dockerfile
FROM ubuntu:focal

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update

RUN apt-get install --yes libz-dev pkg-config
RUN apt-get install --yes git

RUN apt-get install --yes wget
RUN mkdir -p $HOME/.ghcup/bin
RUN wget https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7 -O $HOME/.ghcup/bin/ghcup

RUN chmod a+x $HOME/.ghcup/bin/ghcup
ENV PATH=$PATH:/root/.ghcup/bin/
ENV PATH=$PATH:/root/.cabal/bin/
RUN apt-get install --yes curl
RUN apt-get install --yes gcc g++ make libgmp3-dev
RUN ghcup install ghc 9.8.2
RUN ghcup install cabal 3.4
RUN ghcup set ghc 9.8.2
RUN cabal update

SHELL ["/bin/bash", "-c"]
CMD git clone $REPO \
    && cd $NAME \
    && git checkout $COMMIT \
    && cabal install --lib copilot**/ \
         --constraint="copilot==4.0" \
         --constraint="copilot-c99==4.0" \
         --constraint="copilot-core==4.0" \
         --constraint="copilot-prettyprinter==4.0" \
         --constraint="copilot-interpreter==4.0" \
         --constraint="copilot-language==4.0" \
         --constraint="copilot-libraries==4.0" \
         --constraint="copilot-theorem==4.0" \
    && echo Success
```
Command (substitute variables based on new path after merge):
```
$ docker run -e "REPO=https://github.com/Copilot-Language/copilot" -e "NAME=copilot" -e "COMMIT=<HASH>" -it copilot-verify-532
```

**Solution implemented**

- Cabal files indicate new version number, constraints are adjusted as
  needed, commit is tagged with version number, and packages are
  published on Hackage.

**Further notes**

None.
  • Loading branch information
ivanperez-keera committed Sep 8, 2024
2 parents 8c63a4e + 2cea27d commit 068c06d
Show file tree
Hide file tree
Showing 16 changed files with 43 additions and 35 deletions.
3 changes: 2 additions & 1 deletion copilot-c99/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
2024-09-03
2024-09-07
* Version bump (4.0). (#532)
* Add support for array updates. (#36)

2024-07-07
Expand Down
4 changes: 2 additions & 2 deletions copilot-c99/copilot-c99.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version : >= 1.10
name : copilot-c99
version : 3.20
version : 4.0
synopsis : A compiler for Copilot targeting C99.
description :
This package is a back-end from Copilot to C.
Expand Down Expand Up @@ -45,7 +45,7 @@ library
, mtl >= 2.2 && < 2.4
, pretty >= 1.1 && < 1.2

, copilot-core >= 3.20 && < 3.21
, copilot-core >= 4.0 && < 4.1
, language-c99 >= 0.2.0 && < 0.3
, language-c99-simple >= 0.3 && < 0.4

Expand Down
3 changes: 2 additions & 1 deletion copilot-core/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
2024-09-03
2024-09-07
* Version bump (4.0). (#532)
* Update Op3, Array to support array updates. (#36)

2024-07-07
Expand Down
2 changes: 1 addition & 1 deletion copilot-core/copilot-core.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: >=1.10
name: copilot-core
version: 3.20
version: 4.0
synopsis: An intermediate representation for Copilot.
description:
Intermediate representation for Copilot.
Expand Down
3 changes: 2 additions & 1 deletion copilot-interpreter/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
2024-09-03
2024-09-07
* Version bump (4.0). (#532)
* Add support for array updates. (#36)

2024-07-07
Expand Down
4 changes: 2 additions & 2 deletions copilot-interpreter/copilot-interpreter.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: >=1.10
name: copilot-interpreter
version: 3.20
version: 4.0
synopsis: Interpreter for Copilot.
description:
Interpreter for Copilot.
Expand Down Expand Up @@ -44,7 +44,7 @@ library
base >= 4.9 && < 5,
pretty >= 1.0 && < 1.2,

copilot-core >= 3.20 && < 3.21
copilot-core >= 4.0 && < 4.1

exposed-modules:

Expand Down
3 changes: 2 additions & 1 deletion copilot-language/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
2024-09-03
2024-09-07
* Version bump (4.0). (#532)
* Add support for array updates. (#36)

2024-07-07
Expand Down
8 changes: 4 additions & 4 deletions copilot-language/copilot-language.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: >=1.10
name: copilot-language
version: 3.20
version: 4.0
synopsis: A Haskell-embedded DSL for monitoring hard real-time
distributed systems.
description:
Expand Down Expand Up @@ -42,9 +42,9 @@ library
, data-reify >= 0.6 && < 0.7
, mtl >= 2.0 && < 3

, copilot-core >= 3.20 && < 3.21
, copilot-interpreter >= 3.20 && < 3.21
, copilot-theorem >= 3.20 && < 3.21
, copilot-core >= 4.0 && < 4.1
, copilot-interpreter >= 4.0 && < 4.1
, copilot-theorem >= 4.0 && < 4.1

exposed-modules: Copilot.Language
, Copilot.Language.Operators.BitWise
Expand Down
3 changes: 2 additions & 1 deletion copilot-libraries/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
2024-09-03
2024-09-07
* Version bump (4.0). (#532)
* Rename operator to avoid name clash. (#36)

2024-07-07
Expand Down
12 changes: 6 additions & 6 deletions copilot-libraries/copilot-libraries.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: >=1.10
name: copilot-libraries
version: 3.20
version: 4.0
synopsis: Libraries for the Copilot language.
description:
Libraries for the Copilot language.
Expand Down Expand Up @@ -36,12 +36,12 @@ library

hs-source-dirs: src

build-depends: base >= 4.9 && < 5
build-depends: base >= 4.9 && < 5

, containers >= 0.4 && < 0.7
, mtl >= 2.0 && < 2.4
, parsec >= 2.0 && < 3.2
, copilot-language >= 3.20 && < 3.21
, containers >= 0.4 && < 0.7
, mtl >= 2.0 && < 2.4
, parsec >= 2.0 && < 3.2
, copilot-language >= 4.0 && < 4.1

exposed-modules:
Copilot.Library.Libraries
Expand Down
3 changes: 2 additions & 1 deletion copilot-prettyprinter/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
2024-09-03
2024-09-07
* Version bump (4.0). (#532)
* Add support for pretty-printing struct update expressions. (#526)
* Add support for pretty-printing array update expressions. (#36)

Expand Down
4 changes: 2 additions & 2 deletions copilot-prettyprinter/copilot-prettyprinter.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: >=1.10
name: copilot-prettyprinter
version: 3.20
version: 4.0
synopsis: A prettyprinter of Copilot Specifications.
description:
A prettyprinter of Copilot specifications.
Expand Down Expand Up @@ -45,7 +45,7 @@ library
base >= 4.9 && < 5,
pretty >= 1.0 && < 1.2,

copilot-core >= 3.20 && < 3.21
copilot-core >= 4.0 && < 4.1

exposed-modules:

Expand Down
3 changes: 2 additions & 1 deletion copilot-theorem/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
2024-09-03
2024-09-07
* Version bump (4.0). (#532)
* Add support for struct updates in Copilot.Theorem.What4. (#524)
* Add support for array updates in Copilot.Theorem.What4. (#36)

Expand Down
6 changes: 3 additions & 3 deletions copilot-theorem/copilot-theorem.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ description:
<https://copilot-language.github.io>.


version : 3.20
version : 4.0
license : BSD3
license-file : LICENSE
maintainer : Ivan Perez <[email protected]>
Expand Down Expand Up @@ -63,8 +63,8 @@ library
, xml >= 1.3 && < 1.4
, what4 >= 1.3 && < 1.7

, copilot-core >= 3.20 && < 3.21
, copilot-prettyprinter >= 3.20 && < 3.21
, copilot-core >= 4.0 && < 4.1
, copilot-prettyprinter >= 4.0 && < 4.1

exposed-modules : Copilot.Theorem
, Copilot.Theorem.Prove
Expand Down
3 changes: 2 additions & 1 deletion copilot/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
2024-09-03
2024-09-07
* Version bump (4.0). (#532)
* Update example to demonstrate struct update support. (#524)
* Update example to demonstrate array update support. (#36)

Expand Down
14 changes: 7 additions & 7 deletions copilot/copilot.cabal
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: copilot
version: 3.20
version: 4.0
cabal-version: >= 1.10
license: BSD3
license-file: LICENSE
Expand Down Expand Up @@ -52,12 +52,12 @@ library
, directory >= 1.3 && < 1.4
, filepath >= 1.4 && < 1.5

, copilot-core >= 3.20 && < 3.21
, copilot-theorem >= 3.20 && < 3.21
, copilot-language >= 3.20 && < 3.21
, copilot-libraries >= 3.20 && < 3.21
, copilot-c99 >= 3.20 && < 3.21
, copilot-prettyprinter >= 3.20 && < 3.21
, copilot-core >= 4.0 && < 4.1
, copilot-theorem >= 4.0 && < 4.1
, copilot-language >= 4.0 && < 4.1
, copilot-libraries >= 4.0 && < 4.1
, copilot-c99 >= 4.0 && < 4.1
, copilot-prettyprinter >= 4.0 && < 4.1


exposed-modules: Language.Copilot, Language.Copilot.Main
Expand Down

0 comments on commit 068c06d

Please sign in to comment.