Skip to content

Commit

Permalink
Add linux/riscv64 images
Browse files Browse the repository at this point in the history
- for GHC versions ≥ 9.10.1
- Close #9
  • Loading branch information
benz0li committed Sep 20, 2024
1 parent 6f4d965 commit bcbd79d
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 15 deletions.
24 changes: 16 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,26 @@ The multi‑arch (`linux/amd64`, `linux/arm64/v8`) docker image used to build th
* [Stack](https://github.com/commercialhaskell/stack)
* [Juvix](https://github.com/anoma/juvix)

Credits to
Credit to

<!-- markdownlint-disable line-length -->
* [@odidev](https://github.com/odidev) for
[ghc-bootstrap-aarch64](https://gitlab.alpinelinux.org/odidev/ghc-bootstrap-aarch64)
and
[ghc-bootstrap-aarch64](https://gitlab.alpinelinux.org/odidev/ghc-bootstrap-aarch64)[^1]
and
* [@neosimsim](https://github.com/neosimsim) for
[docker-builder-images](https://gitlab.com/neosimsim/docker-builder-images)
<!-- markdownlint-enable line-length -->
[neosimsim—Docker build images](https://gitlab.com/neosimsim/docker-builder-images)

[^1]: Porting GHC to Linux/AArch64

who laid the groundwork for [this](https://gitlab.com/benz0li/ghc-musl).

Credit to

* Celeste of Alpine for [GHC bootstrap riscv64](https://gitlab.b-data.ch/ghc/ghc-bootstrap-riscv64)[^2]

who made it possible to add `linux/riscv64` images (GHC versions ≥ 9.10.1).

[^2]: Porting GHC to Linux/riscv64

## Table of Contents

* [Prerequisites](#prerequisites)
Expand Down Expand Up @@ -125,11 +133,11 @@ For further information, see [Dev Containers](.devcontainer).
What makes this project different:
1. Multi‑arch: `linux/amd64`, `linux/arm64/v8`
1. Built using Hadrian[^1], from source, without docs
1. Built using Hadrian[^3], from source, without docs
1. Built using the LLVM backend
* flavour: `perf+llvm+split_sections`
[^1]: GHC versions ≥ 9.2.8.
[^3]: GHC versions ≥ 9.2.8.
## Contributing
Expand Down
9 changes: 6 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
## Supported Versions

Only the docker image with the latest version of GHC is supported with security
updates.
Only the docker images with the latest version of GHC are supported with
security updates.

`linux/riscv64` docker images are currently built only once. Therefore,
vulnerabilities for this `os/arch` will not be fixed.

## Reporting a Vulnerability

To report a vulnerability in the latest docker image, email the maintainer
To report a vulnerability in a latest docker image, email the maintainer
<olivier.benz@b-data.ch>.

## Vulnerabilities in Prior Versions
Expand Down
7 changes: 7 additions & 0 deletions VERSION_MATRIX.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,10 @@ Topmost entry = Tag `latest`

* Images based on Alpine 3.{17,18}: Package pkgconf downgraded to v1.8.1
* Due to <https://github.com/haskell/cabal/issues/8923>

## Experimental

`linux/riscv64` images for GHC versions ≥ 9.10.1, e.g.
`quay.io/benz0li/ghc-musl:{latest,GHC_VERSION}-linux-riscv64`.
:information_source: Whenever a new version of GHC is released, the previous
`linux/riscv64` image is added to the manifest.
13 changes: 9 additions & 4 deletions latest.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,15 @@ RUN cabal update \

FROM alpine:3.20 as ghc-base

LABEL org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.source="https://gitlab.b-data.ch/ghc/ghc-musl" \
org.opencontainers.image.vendor="Olivier Benz" \
org.opencontainers.image.authors="Olivier Benz <olivier.benz@b-data.ch>"
ARG IMAGE_LICENSE="MIT"
ARG IMAGE_SOURCE="https://gitlab.b-data.ch/ghc/ghc-musl"
ARG IMAGE_VENDOR="Olivier Benz"
ARG IMAGE_AUTHORS="Olivier Benz <olivier.benz@b-data.ch>"

LABEL org.opencontainers.image.licenses="$IMAGE_LICENSE" \
org.opencontainers.image.source="$IMAGE_SOURCE" \
org.opencontainers.image.vendor="$IMAGE_VENDOR" \
org.opencontainers.image.authors="$IMAGE_AUTHORS"

ARG GHC_VERSION_BUILD
ARG CABAL_VERSION_BUILD
Expand Down

0 comments on commit bcbd79d

Please # to comment.