Use debian:10 rather
This commit is contained in:
parent
6cf9967e7c
commit
e1e6f579d5
21
.github/scripts/common.sh
vendored
21
.github/scripts/common.sh
vendored
@ -129,6 +129,27 @@ build_with_cache() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install_ghcup() {
|
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
|
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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
40
.github/workflows/docker.yaml
vendored
40
.github/workflows/docker.yaml
vendored
@ -72,20 +72,20 @@ jobs:
|
|||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
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
|
uses: docker/build-push-action@v3
|
||||||
with:
|
with:
|
||||||
context: ./docker/arm32v7/focal
|
context: ./docker/arm32v7/focal
|
||||||
push: true
|
push: true
|
||||||
tags: hasufell/arm32v7-ubuntu-haskell:focal
|
tags: hasufell/arm32v7-debian-haskell:10
|
||||||
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
|
|
||||||
platforms: linux/arm
|
platforms: linux/arm
|
||||||
|
|
||||||
docker-aarch:
|
docker-aarch:
|
||||||
@ -108,18 +108,18 @@ jobs:
|
|||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
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
|
uses: docker/build-push-action@v3
|
||||||
with:
|
with:
|
||||||
context: ./docker/arm64v8/focal
|
context: ./docker/arm64v8/focal
|
||||||
push: true
|
push: true
|
||||||
tags: hasufell/arm64v8-ubuntu-haskell:focal
|
tags: hasufell/arm64v8-debian-haskell:10
|
||||||
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
|
|
||||||
platforms: linux/arm64
|
platforms: linux/arm64
|
||||||
|
12
.github/workflows/release.yaml
vendored
12
.github/workflows/release.yaml
vendored
@ -99,7 +99,7 @@ jobs:
|
|||||||
GHC_VER: 9.2.5
|
GHC_VER: 9.2.5
|
||||||
ARCH: ARM64
|
ARCH: ARM64
|
||||||
steps:
|
steps:
|
||||||
- uses: docker://arm64v8/ubuntu:bionic
|
- uses: docker://arm64v8/debian:10
|
||||||
name: Cleanup (aarch64 linux)
|
name: Cleanup (aarch64 linux)
|
||||||
with:
|
with:
|
||||||
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
|
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
|
||||||
@ -115,7 +115,7 @@ jobs:
|
|||||||
submodules: 'true'
|
submodules: 'true'
|
||||||
|
|
||||||
- if: matrix.ARCH == 'ARM'
|
- if: matrix.ARCH == 'ARM'
|
||||||
uses: docker://hasufell/arm32v7-ubuntu-haskell:bionic
|
uses: docker://hasufell/arm32v7-debian-haskell:10
|
||||||
name: Run build (armv7 linux)
|
name: Run build (armv7 linux)
|
||||||
with:
|
with:
|
||||||
args: sh .github/scripts/build.sh
|
args: sh .github/scripts/build.sh
|
||||||
@ -129,7 +129,7 @@ jobs:
|
|||||||
S3_HOST: ${{ env.S3_HOST }}
|
S3_HOST: ${{ env.S3_HOST }}
|
||||||
|
|
||||||
- if: matrix.ARCH == 'ARM64'
|
- if: matrix.ARCH == 'ARM64'
|
||||||
uses: docker://hasufell/arm64v8-ubuntu-haskell:bionic
|
uses: docker://hasufell/arm64v8-debian-haskell:10
|
||||||
name: Run build (aarch64 linux)
|
name: Run build (aarch64 linux)
|
||||||
with:
|
with:
|
||||||
args: sh .github/scripts/build.sh
|
args: sh .github/scripts/build.sh
|
||||||
@ -342,7 +342,7 @@ jobs:
|
|||||||
DISTRO: Ubuntu
|
DISTRO: Ubuntu
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: docker://arm64v8/ubuntu:bionic
|
- uses: docker://arm64v8/debian:10
|
||||||
name: Cleanup (aarch64 linux)
|
name: Cleanup (aarch64 linux)
|
||||||
with:
|
with:
|
||||||
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
|
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
|
||||||
@ -358,7 +358,7 @@ jobs:
|
|||||||
path: ./out
|
path: ./out
|
||||||
|
|
||||||
- if: matrix.ARCH == 'ARM'
|
- if: matrix.ARCH == 'ARM'
|
||||||
uses: docker://hasufell/arm32v7-ubuntu-haskell:bionic
|
uses: docker://hasufell/arm32v7-debian-haskell:10
|
||||||
name: Run test (armv7 linux)
|
name: Run test (armv7 linux)
|
||||||
with:
|
with:
|
||||||
args: sh .github/scripts/test.sh
|
args: sh .github/scripts/test.sh
|
||||||
@ -369,7 +369,7 @@ jobs:
|
|||||||
DISTRO: Ubuntu
|
DISTRO: Ubuntu
|
||||||
|
|
||||||
- if: matrix.ARCH == 'ARM64'
|
- if: matrix.ARCH == 'ARM64'
|
||||||
uses: docker://hasufell/arm64v8-ubuntu-haskell:bionic
|
uses: docker://hasufell/arm64v8-debian-haskell:10
|
||||||
name: Run test (aarch64 linux)
|
name: Run test (aarch64 linux)
|
||||||
with:
|
with:
|
||||||
args: sh .github/scripts/test.sh
|
args: sh .github/scripts/test.sh
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM arm32v7/ubuntu:bionic
|
FROM arm32v7/debian:10
|
||||||
|
|
||||||
ENV LANG C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
@ -24,29 +24,14 @@ RUN apt-get update && \
|
|||||||
xz-utils \
|
xz-utils \
|
||||||
zlib1g-dev \
|
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 \
|
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/*
|
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 GHCUP_VERSION=0.1.17.8
|
||||||
ARG GPG_KEY=7784930957807690A66EBDBE3786C5262ECB4A3F
|
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
|
# install ghcup
|
||||||
RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \
|
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 && \
|
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 && \
|
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS.sig && \
|
||||||
gpg --verify SHA256SUMS.sig SHA256SUMS && \
|
gpg --verify SHA256SUMS.sig SHA256SUMS && \
|
||||||
sha256sum -c --ignore-missing SHA256SUMS && \
|
sha256sum -c --ignore-missing SHA256SUMS && \
|
||||||
mv armv7-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup.bin && \
|
mv armv7-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup && \
|
||||||
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 && \
|
|
||||||
chmod +x /usr/bin/ghcup && \
|
chmod +x /usr/bin/ghcup && \
|
||||||
rm -rf SHA256SUMS SHA256SUMS.sig
|
rm -rf SHA256SUMS SHA256SUMS.sig
|
||||||
|
|
||||||
@ -74,10 +54,7 @@ ENV NO_COLOR=1
|
|||||||
RUN ghcup config set gpg-setting GPGStrict && \
|
RUN ghcup config set gpg-setting GPGStrict && \
|
||||||
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \
|
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \
|
||||||
ghcup --verbose install cabal --isolate=/usr/bin --force ${CABAL_INSTALL} && \
|
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 && \
|
ghcup gc -s -c -t
|
||||||
rm -r "/usr/share/doc/ghc-${GHC}" && \
|
|
||||||
rm -rf /tmp/ghcup* && \
|
|
||||||
ghcup gc -p -s -c -t
|
|
||||||
|
|
||||||
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH
|
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
FROM arm64v8/ubuntu:bionic
|
FROM arm64v8/debian:10
|
||||||
|
|
||||||
ENV LANG C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
@ -24,29 +24,14 @@ RUN apt-get update && \
|
|||||||
xz-utils \
|
xz-utils \
|
||||||
zlib1g-dev \
|
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 \
|
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/*
|
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 GHCUP_VERSION=0.1.18.0
|
||||||
ARG GPG_KEY=7784930957807690A66EBDBE3786C5262ECB4A3F
|
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
|
# install ghcup
|
||||||
RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \
|
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 && \
|
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 && \
|
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS.sig && \
|
||||||
gpg --verify SHA256SUMS.sig SHA256SUMS && \
|
gpg --verify SHA256SUMS.sig SHA256SUMS && \
|
||||||
sha256sum -c --ignore-missing SHA256SUMS && \
|
sha256sum -c --ignore-missing SHA256SUMS && \
|
||||||
mv aarch64-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup.bin && \
|
mv aarch64-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup && \
|
||||||
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 && \
|
|
||||||
chmod +x /usr/bin/ghcup && \
|
chmod +x /usr/bin/ghcup && \
|
||||||
rm -rf SHA256SUMS SHA256SUMS.sig
|
rm -rf SHA256SUMS SHA256SUMS.sig
|
||||||
|
|
||||||
@ -74,10 +54,7 @@ ENV NO_COLOR=1
|
|||||||
RUN ghcup config set gpg-setting GPGStrict && \
|
RUN ghcup config set gpg-setting GPGStrict && \
|
||||||
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \
|
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \
|
||||||
ghcup --verbose install cabal --isolate=/usr/bin --force ${CABAL_INSTALL} && \
|
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 && \
|
ghcup gc -s -c -t
|
||||||
rm -r "/usr/share/doc/ghc-${GHC}" && \
|
|
||||||
rm -rf /tmp/ghcup* && \
|
|
||||||
ghcup gc -p -s -c -t
|
|
||||||
|
|
||||||
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH
|
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH
|
||||||
|
|
Loading…
Reference in New Issue
Block a user