Copilot-Language/copilot

Release 3.18.1

ivanperez-keera opened this issue · 6 comments

Description

Version 3.18.1 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.

Desired result

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

Proposed solution

  • 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.

Change Manager: Confirmed version is ready to be released.

Technical Lead: Confirmed that the issue should be addressed.

Technical Lead: Issue scheduled for Copilot 3.18.1.

Fix assigned to: @ivanperez-keera.

Implementor: Solution implemented, review requested.

Change Manager: Verified that:

  • Solution is implemented:
    • The code proposed compiles and passes all tests. Details:
      Build log: https://app.travis-ci.com/github/Copilot-Language/copilot/builds/268181912

    • The solution proposed addresses the necessary modification to cabal packages. 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.

      FROM ubuntu:focal
      
      RUN apt-get update
      
      RUN apt-get install --yes libz-dev
      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.6.3
      RUN ghcup install cabal 3.4
      RUN ghcup set ghc 9.6.3
      RUN cabal update
      
      SHELL ["/bin/bash", "-c"]
      CMD git clone $REPO \
          && cd $NAME \
          && git checkout $COMMIT \
          && cabal install --lib copilot**/ \
               --constraint="copilot==3.18.1" \
               --constraint="copilot-c99==3.18.1" \
               --constraint="copilot-core==3.18.1" \
               --constraint="copilot-prettyprinter==3.18.1" \
               --constraint="copilot-interpreter==3.18.1" \
               --constraint="copilot-language==3.18.1" \
               --constraint="copilot-libraries==3.18.1" \
               --constraint="copilot-theorem==3.18.1" \
          && echo Success

      Command (substitute variables based on new path after merge):

      $ docker run -e "REPO=https://github.com/ivanperez-keera/copilot" -e "NAME=copilot" -e "COMMIT=70da64a31d97abe3d7ece3e62e3335af7e3ed786" -it copilot-verify-493
      
  • Implementation is documented. Details:
    No changes to the documentation needed (change to fields in cabal).
  • Change history is clear.
  • Commit messages are clear.
  • Changelogs are updated.
  • Examples are updated. Details:
    No examples affected.
  • Required version bumps are evaluated. Details:
    No bump needed (but implemented by the change).

Change Manager: Implementation ready to be merged.