name: Bindist installation defaults: run: shell: bash on: workflow_dispatch: inputs: ghcVersion: description: GHC version required: true type: string metadataFile: description: Metadata file required: true default: ghcup-0.0.7.yaml type: string env: BOOTSTRAP_HASKELL_NONINTERACTIVE: 1 BOOTSTRAP_HASKELL_MINIMAL: 1 BOOTSTRAP_HASKELL_ADJUST_BASHRC: 1 GHC_VERSION: ${{ github.event.inputs.ghcVersion }} METADATA_FILE: ${{ github.event.inputs.metadataFile }} jobs: bindist-install: name: linux-${{ matrix.image }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - image: alpine:latest installCmd: apk update && apk add toolRequirements: binutils-gold curl gcc g++ gmp-dev libc-dev libffi-dev make musl-dev ncurses-dev perl tar xz - image: debian:9 installCmd: apt-get update && apt-get install -y toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 - image: debian:10 installCmd: apt-get update && apt-get install -y toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 - image: debian:11 installCmd: apt-get update && apt-get install -y toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 - image: ubuntu:20.04 installCmd: apt-get update && apt-get install -y toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 - image: ubuntu:22.04 installCmd: apt-get update && apt-get install -y toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 - image: archlinux:latest installCmd: pacman -Syu --noconfirm toolRequirements: which gcc gmp libffi make ncurses perl tar xz - image: fedora:latest installCmd: dnf install -y toolRequirements: which gcc g++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl container: image: ${{ matrix.image }} steps: - name: Install requirements shell: sh run: | ${{ matrix.installCmd }} curl bash git ${{ matrix.toolRequirements }} - uses: actions/checkout@v3 - name: Install ghcup and bindist for GHC ${{ github.event.inputs.ghcVersion }} run: .github/workflows/install-bindist.sh bindist-install-non-linux: name: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - macos-11 - macos-12 - windows-latest runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Install ghcup and bindist for GHC ${{ github.event.inputs.ghcVersion }} run: .github/workflows/install-bindist.sh