Skip to content

ghc

ghc #162

Workflow file for this run

name: ghc
on:
workflow_dispatch:
inputs:
ghc:
description: "ghc version"
required: true
default: "all"
type: choice
options:
- 810
- 904
- 906
- all
ghc_user:
description: "ghc version by user"
required: false
type: string
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Set up docker buildx
uses: docker/setup-buildx-action@v3
- name: Login to github container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build & Push images
run: |
pip3 install fire
if [ -z "${{ inputs.ghc_user }}" ]; then
if [ "${{ inputs.ghc }}" == "all" ]; then
./build.py ghc --hs_dir="." --no_write_to_docker
else
./build.py ghc${{ inputs.ghc }} --hs_dir="." --no_write_to_docker
fi
else
./build.py ghc${{ inputs.ghc_user }} --hs_dir="." --no_write_to_docker
fi
# ----------------------
# XXX: Unused
#
# init-ghc-ppa:
# runs-on: ubuntu-latest
# outputs:
# skip: ${{ steps.check-if-skip.outputs.skip }}
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0
# - id: check-if-skip
# uses: ./.github/actions/check-if-skip
# with:
# checksum-file: checksum/ghc_from_ppa.sha256sum
#
# build-ghc-ppa:
# runs-on: ubuntu-latest
# needs: init-ghc-ppa
# if: ${{ needs.init-ghc-ppa.outputs.skip == 'false' }}
# strategy:
# matrix:
# # docker_args:docker_tag:[docker_tag_alias...]
# ghc: ["8.8.4:8.8.4:8.8"]
# cabal: ["Cabal-v3.6.2.0"]
# steps:
# - uses: actions/checkout@v3
#
# - name: login to github container registry
# uses: docker/login-action@v1
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
#
# - name: build
# uses: ./.github/actions/docker-haskell
# with:
# image-name: ghcr.io/hstreamdb/ghc
# dockerfile: dockerfiles/ghc_from_ppa
# ghc: ${{ matrix.ghc }}
# cabal: ${{ matrix.cabal }}
#
# init-ghc-builder:
# runs-on: ubuntu-latest
# outputs:
# skip: ${{ steps.check-if-skip.outputs.skip }}
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0
# - name: check-if-skip
# id: check-if-skip
# uses: ./.github/actions/check-if-skip
# with:
# checksum-file: checksum/ghc_builder.sha256sum
#
# build-ghc-builder:
# runs-on: ubuntu-latest
# needs: init-ghc-builder
# if: ${{ needs.init-ghc-builder.outputs.skip == 'false' }}
# strategy:
# matrix:
# # git_tag:docker_tag:[docker_tag_alias...]
# ghc: ["ghc-8.10.7-release:ghc-8.10.7:8.10.7:8.10", "ghc-9.2.1-release:ghc-9.2.1:9.2.1:9.2"]
# cabal: ["Cabal-v3.6.2.0:cabal-3.6.2"]
# include:
# - ghc: ghc-8.10.7-release:ghc-8.10.7:8.10.7:8.10
# cabal: Cabal-v3.6.2.0:cabal-3.6.2
# ghc_base: 8.10.4
# - ghc: ghc-9.2.1-release:ghc-9.2.1:9.2.1:9.2
# cabal: Cabal-v3.6.2.0:cabal-3.6.2
# ghc_base: 8.10.4
# steps:
# - uses: actions/checkout@v3
#
# - name: login to github container registry
# uses: docker/login-action@v1
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
#
# - name: build ghc-builder
# uses: ./.github/actions/docker-haskell
# with:
# image-name: ghcr.io/hstreamdb/ghc-builder
# dockerfile: dockerfiles/ghc-builder
# ghc: ${{ matrix.ghc }}
# cabal: ${{ matrix.cabal }}
# kargs-key: BASE_GHC
# kargs-value: ${{ matrix.ghc_base }}
#
# init-ghc-src:
# runs-on: ubuntu-latest
# outputs:
# skip: ${{ steps.check-if-skip.outputs.skip }}
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0
# - id: check-if-skip
# uses: ./.github/actions/check-if-skip
# with:
# checksum-file: checksum/ghc.sha256sum
#
# build-ghc-src:
# runs-on: ubuntu-latest
# needs: init-ghc-src
# if: ${{ needs.init-ghc-src.outputs.skip == 'false' }}
# strategy:
# matrix:
# # docker_args:docker_tag:[docker_tag_alias...]
# ghc: ["9.2.1:9.2.1:9.2"]
# steps:
# - uses: actions/checkout@v3
#
# - name: login to github container registry
# uses: docker/login-action@v1
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
#
# - name: build
# uses: ./.github/actions/docker-haskell
# with:
# image-name: ghcr.io/hstreamdb/ghc
# dockerfile: dockerfiles/ghc
# ghc: ${{ matrix.ghc }}
# cabal: ""