Skip to content

Commit

Permalink
CI: Prefer Use 9.2.8 (not 8.10.7) for building Docker images
Browse files Browse the repository at this point in the history
There are two motivations for doing so:

* `sbv-10.0` and later no longer build against GHC 8.10 (see
  LeventErkok/sbv#655), but we want to use a new `sbv`
  version to come to a resolution to #1548. As such, we need a newer GHC.
* `ghcup` now recommends GHC 9.2.8 for most usage, so it's time we switched
  anyway.
  • Loading branch information
RyanGlScott committed Jul 12, 2023
1 parent 71a8f86 commit 6ee853c
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 25 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
run-tests: [true]
exclude:
- os: windows-2019
ghc-version: 9.2.8
ghc-version: 8.10.7
run-tests: true
- os: windows-2019
ghc-version: 9.4.5
Expand All @@ -80,7 +80,7 @@ jobs:
# coverage of possible Linux configurations. Since we already run the
# tests with the newest LTS release, we won't bother testing this one.
- os: ubuntu-20.04
ghc-version: 8.10.7
ghc-version: 9.2.8
run-tests: false
outputs:
test-lib-json: ${{ steps.test-lib.outputs.targets-json }}
Expand Down Expand Up @@ -218,13 +218,13 @@ jobs:
if-no-files-found: error
retention-days: ${{ needs.config.outputs.retention-days }}

- if: matrix.ghc-version == '8.10.7' && matrix.run-tests
- if: matrix.ghc-version == '9.2.8' && matrix.run-tests
uses: actions/upload-artifact@v2
with:
path: dist/bin
name: ${{ runner.os }}-dist-bin

- if: matrix.ghc-version == '8.10.7' && matrix.run-tests
- if: matrix.ghc-version == '9.2.8' && matrix.run-tests
uses: actions/upload-artifact@v2
with:
path: bin
Expand Down Expand Up @@ -268,7 +268,7 @@ jobs:

- uses: haskell/actions/setup@v2
with:
ghc-version: '8.10.7'
ghc-version: '9.2.8'

- name: Install dependencies (Windows)
uses: msys2/setup-msys2@v2
Expand Down
4 changes: 2 additions & 2 deletions .gitpod.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq \
RUN curl https://i.jpillora.com/chisel! | bash

# Install GHC
ARG GHCVER="8.10.7"
ARG GHCVER="9.2.8"
ENV GHCUP_INSTALL_BASE_PREFIX=/opt \
PATH=/opt/.ghcup/bin:$PATH
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7" && \
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4" && \
chmod +x /usr/local/bin/ghcup
RUN ghcup install cabal --set
ENV PATH=/root/.cabal/bin:$PATH
Expand Down
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ RUN z3 --version
ARG CRYPTOLPATH="/cryptol/.cryptol"
ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8
COPY cabal.GHC-8.10.7.config cabal.project.freeze
COPY cabal.GHC-9.2.8.config cabal.project.freeze
RUN mkdir -p /home/cryptol/.local/bin && \
curl -L https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7 -o /home/cryptol/.local/bin/ghcup && \
curl -L https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4 -o /home/cryptol/.local/bin/ghcup && \
chmod +x /home/cryptol/.local/bin/ghcup
RUN mkdir -p /home/cryptol/.ghcup && \
ghcup --version && \
ghcup install cabal 3.6.2.0 && \
ghcup install ghc 8.10.7 && \
ghcup set ghc 8.10.7
ghcup install ghc 9.2.8 && \
ghcup set ghc 9.2.8
RUN cabal v2-update && \
cabal v2-build -j cryptol:exe:cryptol && \
cp $(cabal v2-exec which cryptol) rootfs/usr/local/bin && \
Expand Down
4 changes: 2 additions & 2 deletions cryptol-remote-api/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG GHCVER="8.10.7"
ARG GHCVER="9.2.8"
ARG GHCVER_BOOTSTRAP="8.10.2"
FROM ubuntu:22.04 AS toolchain
ARG PORTABILITY=false
Expand All @@ -14,7 +14,7 @@ RUN apt-get update && \
unzip
ENV GHCUP_INSTALL_BASE_PREFIX=/opt \
PATH=/opt/.ghcup/bin:$PATH
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7" && \
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4" && \
chmod +x /usr/local/bin/ghcup
RUN ghcup install cabal --set
ENV PATH=/root/.cabal/bin:$PATH
Expand Down
24 changes: 12 additions & 12 deletions cryptol-remote-api/ghc-portability.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git a/configure.ac b/configure.ac
index 6eac557b93..fd87983730 100644
index 31dd8a89b2..03835037fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -922,7 +922,7 @@ dnl off_t, because it will affect the result of that test.
@@ -943,7 +943,7 @@ dnl off_t, because it will affect the result of that test.
AC_SYS_LARGEFILE

dnl ** check for specific header (.h) files that we are interested in
Expand All @@ -11,9 +11,9 @@ index 6eac557b93..fd87983730 100644

dnl sys/cpuset.h needs sys/param.h to be included first on FreeBSD 9.1; #7708
AC_CHECK_HEADERS([sys/cpuset.h], [], [],
@@ -1230,10 +1230,6 @@ AC_LINK_IFELSE([
AC_MSG_RESULT(no)
)
@@ -1166,10 +1166,6 @@ AC_LINK_IFELSE([AC_LANG_CALL([], [printf\$LDBLStub])],

FP_CHECK_PTHREADS

-dnl ** check for eventfd which is needed by the I/O manager
-AC_CHECK_HEADERS([sys/eventfd.h])
Expand All @@ -23,7 +23,7 @@ index 6eac557b93..fd87983730 100644
AC_MSG_CHECKING(for __thread support)
AC_COMPILE_IFELSE(
diff --git a/libraries/base/configure.ac b/libraries/base/configure.ac
index 716e46cc05..694bf6aa81 100644
index 68295563af..2d7683c27b 100644
--- a/libraries/base/configure.ac
+++ b/libraries/base/configure.ac
@@ -23,7 +23,7 @@ AC_MSG_RESULT($WINDOWS)
Expand All @@ -35,12 +35,12 @@ index 716e46cc05..694bf6aa81 100644

# Enable large file support. Do this before testing the types ino_t, off_t, and
# rlim_t, because it will affect the result of that test.
@@ -40,7 +40,7 @@ AC_CHECK_FUNCS([clock_gettime])
AC_CHECK_FUNCS([getclock getrusage times])
AC_CHECK_FUNCS([_chsize ftruncate])

@@ -46,7 +46,7 @@ AC_CHECK_FUNCS([_chsize ftruncate])
# to keep kqueue/poll in line with HAVE_EPOLL and possible other additions in the future. You
# should be aware of this peculiarity if you try to simulate not having kqueue or poll by
# moving away header files (see also https://gitlab.haskell.org/ghc/ghc/-/issues/9283)
-AC_CHECK_FUNCS([epoll_ctl eventfd kevent kevent64 kqueue poll])
+AC_CHECK_FUNCS([epoll_ctl kevent kevent64 kqueue poll])

# event-related fun

if test "$ac_cv_header_sys_epoll_h" = yes && test "$ac_cv_func_epoll_ctl" = yes; then
AC_DEFINE([HAVE_EPOLL], [1], [Define if you have epoll support.])

0 comments on commit 6ee853c

Please sign in to comment.