Use debian:10 rather

This commit is contained in:
Julian Ospald 2023-02-19 18:11:00 +08:00
parent 6cf9967e7c
commit e1e6f579d5
Signed by: hasufell
GPG Key ID: 3786C5262ECB4A3F
7 changed files with 57 additions and 82 deletions

View File

@ -129,6 +129,27 @@ build_with_cache() {
}
install_ghcup() {
case "${RUNNER_OS}" in
"Linux")
case "${ARCH}" in
"ARM"*)
if command -v ghcup ; then
mkdir -p "$GHCUP_BIN"
cp "$(command -v ghcup)" "$GHCUP_BIN/ghcup${ext}"
else
install_ghcup_curl_sh
fi
;;
*) install_ghcup_curl_sh
;;
esac
;;
*) install_ghcup_curl_sh
;;
esac
}
install_ghcup_curl_sh() {
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_MINIMAL=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK=yes sh
}

View File

@ -72,20 +72,20 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push (focal)
- name: Build and push (debian buster)
uses: docker/build-push-action@v3
with:
context: ./docker/arm32v7/buster
push: true
tags: hasufell/arm32v7-debian-haskell:10
platforms: linux/arm
- name: Build and push (ubuntu focal)
uses: docker/build-push-action@v3
with:
context: ./docker/arm32v7/focal
push: true
tags: hasufell/arm32v7-ubuntu-haskell:focal
platforms: linux/arm
- name: Build and push (bionic)
uses: docker/build-push-action@v3
with:
context: ./docker/arm32v7/bionic
push: true
tags: hasufell/arm32v7-ubuntu-haskell:bionic
tags: hasufell/arm32v7-debian-haskell:10
platforms: linux/arm
docker-aarch:
@ -108,18 +108,18 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push (focal)
- name: Build and push (debian buster)
uses: docker/build-push-action@v3
with:
context: ./docker/arm64v8/buster
push: true
tags: hasufell/arm64v8-debian-haskell:10
platforms: linux/arm64
- name: Build and push (ubuntu focal)
uses: docker/build-push-action@v3
with:
context: ./docker/arm64v8/focal
push: true
tags: hasufell/arm64v8-ubuntu-haskell:focal
platforms: linux/arm64
- name: Build and push (bionic)
uses: docker/build-push-action@v3
with:
context: ./docker/arm64v8/bionic
push: true
tags: hasufell/arm64v8-ubuntu-haskell:bionic
tags: hasufell/arm64v8-debian-haskell:10
platforms: linux/arm64

View File

@ -99,7 +99,7 @@ jobs:
GHC_VER: 9.2.5
ARCH: ARM64
steps:
- uses: docker://arm64v8/ubuntu:bionic
- uses: docker://arm64v8/debian:10
name: Cleanup (aarch64 linux)
with:
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
@ -115,7 +115,7 @@ jobs:
submodules: 'true'
- if: matrix.ARCH == 'ARM'
uses: docker://hasufell/arm32v7-ubuntu-haskell:bionic
uses: docker://hasufell/arm32v7-debian-haskell:10
name: Run build (armv7 linux)
with:
args: sh .github/scripts/build.sh
@ -129,7 +129,7 @@ jobs:
S3_HOST: ${{ env.S3_HOST }}
- if: matrix.ARCH == 'ARM64'
uses: docker://hasufell/arm64v8-ubuntu-haskell:bionic
uses: docker://hasufell/arm64v8-debian-haskell:10
name: Run build (aarch64 linux)
with:
args: sh .github/scripts/build.sh
@ -342,7 +342,7 @@ jobs:
DISTRO: Ubuntu
steps:
- uses: docker://arm64v8/ubuntu:bionic
- uses: docker://arm64v8/debian:10
name: Cleanup (aarch64 linux)
with:
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
@ -358,7 +358,7 @@ jobs:
path: ./out
- if: matrix.ARCH == 'ARM'
uses: docker://hasufell/arm32v7-ubuntu-haskell:bionic
uses: docker://hasufell/arm32v7-debian-haskell:10
name: Run test (armv7 linux)
with:
args: sh .github/scripts/test.sh
@ -369,7 +369,7 @@ jobs:
DISTRO: Ubuntu
- if: matrix.ARCH == 'ARM64'
uses: docker://hasufell/arm64v8-ubuntu-haskell:bionic
uses: docker://hasufell/arm64v8-debian-haskell:10
name: Run test (aarch64 linux)
with:
args: sh .github/scripts/test.sh

View File

@ -1,4 +1,4 @@
FROM arm32v7/ubuntu:bionic
FROM arm32v7/debian:10
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
@ -24,29 +24,14 @@ RUN apt-get update && \
xz-utils \
zlib1g-dev \
libnuma-dev libgmp10 libssl-dev liblzma-dev libbz2-dev wget lsb-release software-properties-common apt-transport-https gcc autoconf automake build-essential gzip patchelf tree \
llvm-9 clang-9 && \
llvm-11 clang-11 && \
rm -rf /var/lib/apt/lists/*
RUN update_opt.sh 9 1
RUN update_opt.sh 11 1
ARG GHCUP_VERSION=0.1.17.8
ARG GPG_KEY=7784930957807690A66EBDBE3786C5262ECB4A3F
# install libtinfo.so.6 for ghcup
RUN cd /tmp && \
curl -sSfL -O https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.1.tar.gz && \
tar xf ncurses-6.1.tar.gz && \
cd ncurses-6.1/ && \
./configure --prefix=/root/.local \
--with-shared \
--with-versioned-syms \
--without-ada \
--with-termlib && \
make -j && \
make install && \
cd && \
rm -rf /tmp/ncurses-6.1
# install ghcup
RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/armv7-linux-ghcup-$GHCUP_VERSION && \
@ -54,12 +39,7 @@ RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS.sig && \
gpg --verify SHA256SUMS.sig SHA256SUMS && \
sha256sum -c --ignore-missing SHA256SUMS && \
mv armv7-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup.bin && \
chmod +x /usr/bin/ghcup.bin && \
echo '#!/bin/sh' > /usr/bin/ghcup && \
echo '' >> /usr/bin/ghcup && \
echo 'export LD_LIBRARY_PATH=/root/.local/lib' >> /usr/bin/ghcup && \
echo 'exec /usr/bin/ghcup.bin "$@"' >> /usr/bin/ghcup && \
mv armv7-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup && \
chmod +x /usr/bin/ghcup && \
rm -rf SHA256SUMS SHA256SUMS.sig
@ -74,10 +54,7 @@ ENV NO_COLOR=1
RUN ghcup config set gpg-setting GPGStrict && \
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \
ghcup --verbose install cabal --isolate=/usr/bin --force ${CABAL_INSTALL} && \
find "/usr/lib/ghc-${GHC}/" \( -name "*_p.a" -o -name "*.p_hi" \) -type f -delete && \
rm -r "/usr/share/doc/ghc-${GHC}" && \
rm -rf /tmp/ghcup* && \
ghcup gc -p -s -c -t
ghcup gc -s -c -t
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH

View File

@ -1,4 +1,4 @@
FROM arm64v8/ubuntu:bionic
FROM arm64v8/debian:10
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
@ -24,29 +24,14 @@ RUN apt-get update && \
xz-utils \
zlib1g-dev \
libnuma-dev libgmp10 libssl-dev liblzma-dev libbz2-dev wget lsb-release software-properties-common apt-transport-https gcc autoconf automake build-essential gzip patchelf tree \
llvm-9 clang-9 && \
llvm-11 clang-11 && \
rm -rf /var/lib/apt/lists/*
RUN update_opt.sh 9 1
RUN update_opt.sh 11 1
ARG GHCUP_VERSION=0.1.18.0
ARG GPG_KEY=7784930957807690A66EBDBE3786C5262ECB4A3F
# install libtinfo.so.6 for ghcup
RUN cd /tmp && \
curl -sSfL -O https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.1.tar.gz && \
tar xf ncurses-6.1.tar.gz && \
cd ncurses-6.1/ && \
./configure --prefix=/root/.local \
--with-shared \
--with-versioned-syms \
--without-ada \
--with-termlib && \
make -j && \
make install && \
cd && \
rm -rf /tmp/ncurses-6.1
# install ghcup
RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/aarch64-linux-ghcup-$GHCUP_VERSION && \
@ -54,12 +39,7 @@ RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS.sig && \
gpg --verify SHA256SUMS.sig SHA256SUMS && \
sha256sum -c --ignore-missing SHA256SUMS && \
mv aarch64-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup.bin && \
chmod +x /usr/bin/ghcup.bin && \
echo '#!/bin/sh' > /usr/bin/ghcup && \
echo '' >> /usr/bin/ghcup && \
echo 'export LD_LIBRARY_PATH=/root/.local/lib' >> /usr/bin/ghcup && \
echo 'exec /usr/bin/ghcup.bin "$@"' >> /usr/bin/ghcup && \
mv aarch64-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup && \
chmod +x /usr/bin/ghcup && \
rm -rf SHA256SUMS SHA256SUMS.sig
@ -74,10 +54,7 @@ ENV NO_COLOR=1
RUN ghcup config set gpg-setting GPGStrict && \
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \
ghcup --verbose install cabal --isolate=/usr/bin --force ${CABAL_INSTALL} && \
find "/usr/lib/ghc-${GHC}/" \( -name "*_p.a" -o -name "*.p_hi" \) -type f -delete && \
rm -r "/usr/share/doc/ghc-${GHC}" && \
rm -rf /tmp/ghcup* && \
ghcup gc -p -s -c -t
ghcup gc -s -c -t
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH