-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add GHC 8.10.1, update Cabal, Stack, Debian base.
Expand support matrix to include Debian Buster in addition to Stretch. The default Debian base will be Buster for both 8.8.3 and 8.10.1 (8.6.5 getting dropped). The GitHub Actions will now build/test the full matrix for pull requests. Remove examples as they don't work and are unsupported.
- Loading branch information
Showing
45 changed files
with
182 additions
and
1,105 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,68 +1,41 @@ | ||
name: Build and Smoke Test | ||
|
||
on: | ||
push: | ||
pull_request: | ||
branches: | ||
- master | ||
|
||
jobs: | ||
ci: | ||
if: github.repository == 'haskell/docker-haskell' | ||
timeout-minutes: 30 | ||
runs-on: ubuntu-18.04 | ||
name: ${{ matrix.ghc }}-${{ matrix.deb }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
ghc: [8.6.5, 8.8.2, 8.8.3] | ||
ghc: ['8.8.3', '8.10.1'] | ||
deb: ['stretch', 'buster'] | ||
include: | ||
- ghc: 8.6.5 | ||
ghc_minor: 8.6 | ||
- ghc: 8.8.2 | ||
ghc_minor: 8.8 | ||
- ghc: 8.8.3 | ||
ghc_minor: 8.8 | ||
- ghc: '8.8.3' | ||
ghc_minor: '8.8' | ||
- ghc: '8.10.1' | ||
ghc_minor: '8.10' | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: docker build [${{ matrix.ghc }}] | ||
uses: nick-invision/retry@v1 | ||
with: | ||
timeout_minutes: 8 | ||
max_attempts: 3 | ||
command: docker build --pull --build-arg GHC=${{ matrix.ghc }} -t haskell:${{ matrix.ghc }} ${{ matrix.ghc_minor }} | ||
- uses: actions/checkout@v2 | ||
with: | ||
repository: docker-library/official-images | ||
path: official-images | ||
- name: run official-images tests | ||
run: ./official-images/test/run.sh haskell:${{ matrix.ghc }} | ||
- uses: actions/checkout@v2 | ||
- name: docker build [${{ matrix.ghc }}] | ||
uses: nick-invision/retry@v1 | ||
with: | ||
timeout_minutes: 8 | ||
max_attempts: 3 | ||
command: | | ||
docker build --pull \ | ||
-t haskell:${{ matrix.ghc }}-${{ matrix.deb }} \ | ||
${{ matrix.ghc_minor }}/${{ matrix.deb }} | ||
- uses: actions/checkout@v2 | ||
with: | ||
repository: docker-library/official-images | ||
path: official-images | ||
- name: run official-images tests | ||
run: ./official-images/test/run.sh haskell:${{ matrix.ghc }}-${{ matrix.deb }} | ||
|
||
ci-self-hosted: | ||
if: github.repository == 'psftw/docker-haskell-private' | ||
timeout-minutes: 20 | ||
runs-on: self-hosted | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
ghc: [8.6.5, 8.8.2, 8.8.3] | ||
include: | ||
- ghc: 8.6.5 | ||
ghc_minor: 8.6 | ||
- ghc: 8.8.2 | ||
ghc_minor: 8.8 | ||
- ghc: 8.8.3 | ||
ghc_minor: 8.8 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: docker build [${{ matrix.ghc }}] | ||
run: docker build --pull --build-arg GHC=${{ matrix.ghc }} -t haskell:${{ matrix.ghc }} ${{ matrix.ghc_minor }} | ||
- name: check for cabal-cache | ||
run: | | ||
docker volume inspect cabal-cache-${{ matrix.ghc }} &> /dev/null || \ | ||
docker run -t --rm -v cabal-cache-${{ matrix.ghc }}:/root/.cabal haskell:${{ matrix.ghc }} cabal new-update | ||
- name: cabal new-install | ||
run: docker run -t --rm -v cabal-cache-${{ matrix.ghc }}:/root/.cabal haskell:${{ matrix.ghc }} cabal new-install --lib primitive | ||
- name: wipe stack cache | ||
run: docker volume rm stack-test-${{ matrix.ghc }} | ||
continue-on-error: true | ||
- name: stack new | ||
run: docker run -t --rm -v stack-test-${{ matrix.ghc }}:/stack -w /stack haskell:${{ matrix.ghc }} stack --resolver ghc-${{ matrix.ghc }} new testproject --bare | ||
- name: stack run | ||
run: docker run -t --rm -v stack-test-${{ matrix.ghc }}:/stack -w /stack haskell:${{ matrix.ghc }} stack run |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
FROM debian:buster | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
ARG GHC=8.10.1 | ||
ARG DEBIAN_KEY=427CB69AAC9D00F2A43CAF1CBA3CBA3FFE22B574 | ||
ARG CABAL_INSTALL=3.2 | ||
ARG STACK=2.3.1 | ||
ARG STACK_KEY=C5705533DA4F78D8664B5DC0575159689BEFB442 | ||
ARG STACK_RELEASE_KEY=2C6A674E85EE3FB896AFC9B965101FF31C5C154D | ||
|
||
RUN export GNUPGHOME="$(mktemp -d)" && \ | ||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${DEBIAN_KEY} && \ | ||
gpg --batch --armor --export ${DEBIAN_KEY} > /etc/apt/trusted.gpg.d/haskell.org.gpg.asc && \ | ||
gpgconf --kill all && \ | ||
echo 'deb http://downloads.haskell.org/debian buster main' > /etc/apt/sources.list.d/ghc.list && \ | ||
apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
cabal-install-${CABAL_INSTALL} \ | ||
curl \ | ||
g++ \ | ||
ghc-${GHC} \ | ||
git \ | ||
libsqlite3-dev \ | ||
libtinfo-dev \ | ||
make \ | ||
netbase \ | ||
openssh-client \ | ||
xz-utils \ | ||
zlib1g-dev && \ | ||
rm -rf "$GNUPGHOME" /var/lib/apt/lists/* | ||
|
||
RUN export GNUPGHOME="$(mktemp -d)" && \ | ||
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_KEY} && \ | ||
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_RELEASE_KEY} && \ | ||
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz -o stack.tar.gz && \ | ||
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \ | ||
gpg --batch --trusted-key 0x575159689BEFB442 --verify stack.tar.gz.asc stack.tar.gz && \ | ||
tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 && \ | ||
/usr/local/bin/stack config set system-ghc --global true && \ | ||
/usr/local/bin/stack config set install-ghc --global false && \ | ||
rm -rf "$GNUPGHOME" /var/lib/apt/lists/* /stack.tar.gz.asc /stack.tar.gz | ||
|
||
ENV PATH /root/.cabal/bin:/root/.local/bin:/opt/cabal/${CABAL_INSTALL}/bin:/opt/ghc/${GHC}/bin:$PATH | ||
|
||
CMD ["ghci"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
FROM debian:stretch | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
ARG GHC=8.10.1 | ||
ARG DEBIAN_KEY=427CB69AAC9D00F2A43CAF1CBA3CBA3FFE22B574 | ||
ARG CABAL_INSTALL=3.2 | ||
ARG STACK=2.3.1 | ||
ARG STACK_KEY=C5705533DA4F78D8664B5DC0575159689BEFB442 | ||
ARG STACK_RELEASE_KEY=2C6A674E85EE3FB896AFC9B965101FF31C5C154D | ||
|
||
RUN export GNUPGHOME="$(mktemp -d)" && \ | ||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${DEBIAN_KEY} && \ | ||
gpg --batch --armor --export ${DEBIAN_KEY} > /etc/apt/trusted.gpg.d/haskell.org.gpg.asc && \ | ||
gpgconf --kill all && \ | ||
echo 'deb http://downloads.haskell.org/debian stretch main' > /etc/apt/sources.list.d/ghc.list && \ | ||
apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
cabal-install-${CABAL_INSTALL} \ | ||
curl \ | ||
g++ \ | ||
ghc-${GHC} \ | ||
git \ | ||
libsqlite3-dev \ | ||
libtinfo-dev \ | ||
make \ | ||
netbase \ | ||
openssh-client \ | ||
xz-utils \ | ||
zlib1g-dev && \ | ||
rm -rf "$GNUPGHOME" /var/lib/apt/lists/* | ||
|
||
RUN export GNUPGHOME="$(mktemp -d)" && \ | ||
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_KEY} && \ | ||
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_RELEASE_KEY} && \ | ||
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz -o stack.tar.gz && \ | ||
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \ | ||
gpg --batch --trusted-key 0x575159689BEFB442 --verify stack.tar.gz.asc stack.tar.gz && \ | ||
tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 && \ | ||
/usr/local/bin/stack config set system-ghc --global true && \ | ||
/usr/local/bin/stack config set install-ghc --global false && \ | ||
rm -rf "$GNUPGHOME" /var/lib/apt/lists/* /stack.tar.gz.asc /stack.tar.gz | ||
|
||
ENV PATH /root/.cabal/bin:/root/.local/bin:/opt/cabal/${CABAL_INSTALL}/bin:/opt/ghc/${GHC}/bin:$PATH | ||
|
||
CMD ["ghci"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
FROM debian:buster | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
ARG GHC=8.8.3 | ||
ARG DEBIAN_KEY=427CB69AAC9D00F2A43CAF1CBA3CBA3FFE22B574 | ||
ARG CABAL_INSTALL=3.2 | ||
ARG STACK=2.3.1 | ||
ARG STACK_KEY=C5705533DA4F78D8664B5DC0575159689BEFB442 | ||
ARG STACK_RELEASE_KEY=2C6A674E85EE3FB896AFC9B965101FF31C5C154D | ||
|
||
RUN export GNUPGHOME="$(mktemp -d)" && \ | ||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys ${DEBIAN_KEY} && \ | ||
gpg --batch --armor --export ${DEBIAN_KEY} > /etc/apt/trusted.gpg.d/haskell.org.gpg.asc && \ | ||
gpgconf --kill all && \ | ||
echo 'deb http://downloads.haskell.org/debian buster main' > /etc/apt/sources.list.d/ghc.list && \ | ||
apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
cabal-install-${CABAL_INSTALL} \ | ||
curl \ | ||
g++ \ | ||
ghc-${GHC} \ | ||
git \ | ||
libsqlite3-dev \ | ||
libtinfo-dev \ | ||
make \ | ||
netbase \ | ||
openssh-client \ | ||
xz-utils \ | ||
zlib1g-dev && \ | ||
rm -rf "$GNUPGHOME" /var/lib/apt/lists/* | ||
|
||
RUN export GNUPGHOME="$(mktemp -d)" && \ | ||
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_KEY} && \ | ||
gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys ${STACK_RELEASE_KEY} && \ | ||
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz -o stack.tar.gz && \ | ||
curl -fSL https://github.com/commercialhaskell/stack/releases/download/v${STACK}/stack-${STACK}-linux-x86_64.tar.gz.asc -o stack.tar.gz.asc && \ | ||
gpg --batch --trusted-key 0x575159689BEFB442 --verify stack.tar.gz.asc stack.tar.gz && \ | ||
tar -xf stack.tar.gz -C /usr/local/bin --strip-components=1 && \ | ||
/usr/local/bin/stack config set system-ghc --global true && \ | ||
/usr/local/bin/stack config set install-ghc --global false && \ | ||
rm -rf "$GNUPGHOME" /var/lib/apt/lists/* /stack.tar.gz.asc /stack.tar.gz | ||
|
||
ENV PATH /root/.cabal/bin:/root/.local/bin:/opt/cabal/${CABAL_INSTALL}/bin:/opt/ghc/${GHC}/bin:$PATH | ||
|
||
CMD ["ghci"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Binary file not shown.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.