# This file is auto-generated
#
# To regenerate it run
#
#     make github-actions
#
name: Linux
on:
  push:
    branches:
      - master
      - "3.2"
  pull_request:
    branches:
      - master
      - "3.2"
  release:
    types:
      - created

jobs:
  validate-8_10_1:
    name: validate.sh ghc-8.10.1
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:8.10.1-bionic
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-8.10.1 -v  -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-8.10.1 -v  -s print-tool-versions
      - name: Validate make-cabal-install-dev
        run: sh validate.sh -j 2 -w ghc-8.10.1 -v  -s make-cabal-install-dev
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-8.10.1 -v  -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-8.10.1 -v  -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-8.10.1 -v  -s lib-suite
      - name: Validate cli-tests
        run: sh validate.sh -j 2 -w ghc-8.10.1 -v  -s cli-tests
      - name: Validate cli-suite
        run: sh validate.sh -j 2 -w ghc-8.10.1 -v  -s cli-suite
  validate-8_8_3:
    name: validate.sh ghc-8.8.3
    runs-on: ubuntu-18.04
    container:
      image: phadej/ghc:8.8.3-bionic
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --solver-benchmarks -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --solver-benchmarks -s print-tool-versions
      - name: Validate make-cabal-install-dev
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --solver-benchmarks -s make-cabal-install-dev
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --solver-benchmarks -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --solver-benchmarks -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --solver-benchmarks -s lib-suite
      - name: Validate cli-tests
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --solver-benchmarks -s cli-tests
      - name: Validate cli-suite
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --solver-benchmarks -s cli-suite
  validate-8_6_5:
    name: validate.sh ghc-8.6.5
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:8.6.5-bionic
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-8.6.5 -v --complete-hackage-tests -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-8.6.5 -v --complete-hackage-tests -s print-tool-versions
      - name: Validate make-cabal-install-dev
        run: sh validate.sh -j 2 -w ghc-8.6.5 -v --complete-hackage-tests -s make-cabal-install-dev
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-8.6.5 -v --complete-hackage-tests -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-8.6.5 -v --complete-hackage-tests -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-8.6.5 -v --complete-hackage-tests -s lib-suite
      - name: Validate cli-tests
        run: sh validate.sh -j 2 -w ghc-8.6.5 -v --complete-hackage-tests -s cli-tests
      - name: Validate cli-suite
        run: sh validate.sh -j 2 -w ghc-8.6.5 -v --complete-hackage-tests -s cli-suite
  validate-8_4_4:
    name: validate.sh ghc-8.4.4
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:8.4.4-bionic
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-8.4.4 -v  -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-8.4.4 -v  -s print-tool-versions
      - name: Validate make-cabal-install-dev
        run: sh validate.sh -j 2 -w ghc-8.4.4 -v  -s make-cabal-install-dev
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-8.4.4 -v  -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-8.4.4 -v  -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-8.4.4 -v  -s lib-suite
      - name: Validate cli-tests
        run: sh validate.sh -j 2 -w ghc-8.4.4 -v  -s cli-tests
      - name: Validate cli-suite
        run: sh validate.sh -j 2 -w ghc-8.4.4 -v  -s cli-suite
  validate-8_2_2:
    name: validate.sh ghc-8.2.2
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:8.2.2-bionic
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-8.2.2 -v  -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-8.2.2 -v  -s print-tool-versions
      - name: Validate make-cabal-install-dev
        run: sh validate.sh -j 2 -w ghc-8.2.2 -v  -s make-cabal-install-dev
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-8.2.2 -v  -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-8.2.2 -v  -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-8.2.2 -v  -s lib-suite
      - name: Validate cli-tests
        run: sh validate.sh -j 2 -w ghc-8.2.2 -v  -s cli-tests
      - name: Validate cli-suite
        run: sh validate.sh -j 2 -w ghc-8.2.2 -v  -s cli-suite
  validate-8_0_2:
    name: validate.sh ghc-8.0.2
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:8.0.2-bionic
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-8.0.2 -v  -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-8.0.2 -v  -s print-tool-versions
      - name: Validate make-cabal-install-dev
        run: sh validate.sh -j 2 -w ghc-8.0.2 -v  -s make-cabal-install-dev
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-8.0.2 -v  -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-8.0.2 -v  -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-8.0.2 -v  -s lib-suite
      - name: Validate cli-tests
        run: sh validate.sh -j 2 -w ghc-8.0.2 -v  -s cli-tests
      - name: Validate cli-suite
        run: sh validate.sh -j 2 -w ghc-8.0.2 -v  -s cli-suite
  validate-7_10_3:
    name: validate.sh ghc-7.10.3
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:7.10.3-bionic
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-7.10.3 -v  -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-7.10.3 -v  -s print-tool-versions
      - name: Validate make-cabal-install-dev
        run: sh validate.sh -j 2 -w ghc-7.10.3 -v  -s make-cabal-install-dev
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-7.10.3 -v  -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-7.10.3 -v  -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-7.10.3 -v  -s lib-suite
      - name: Validate cli-tests
        run: sh validate.sh -j 2 -w ghc-7.10.3 -v  -s cli-tests
      - name: Validate cli-suite
        run: sh validate.sh -j 2 -w ghc-7.10.3 -v  -s cli-suite
  validate-7_8_4:
    name: validate.sh ghc-7.8.4
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:7.8.4-bionic
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-7.8.4 -v --lib-only -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-7.8.4 -v --lib-only -s print-tool-versions
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-7.8.4 -v --lib-only -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-7.8.4 -v --lib-only -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-7.8.4 -v --lib-only -s lib-suite
  validate-7_6_3:
    name: validate.sh ghc-7.6.3
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:7.6.3-xenial
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: apt-get update
        run: apt-get update
      - name: Install dynamic libraries
        run: apt-get install -y ghc-7.6.3-dyn
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-7.6.3 -v --lib-only -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-7.6.3 -v --lib-only -s print-tool-versions
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-7.6.3 -v --lib-only -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-7.6.3 -v --lib-only -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-7.6.3 -v --lib-only -s lib-suite
  validate-8_8_3-old:
    name: validate.sh old GHCs
    runs-on: ubuntu-18.04
    needs: validate-8_8_3
    container:
      image: phadej/ghc:8.8.3-xenial
    steps:
      # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#add-a-system-path-add-path
      - name: Set PATH
        run: |
          echo "::add-path::$HOME/.cabal/bin"
      - name: Install git
        run: |
          add-apt-repository -y ppa:git-core/ppa
          apt-get update
          apt-get install -y git
      - name: Install cabal-plan
        run: |
          mkdir -p $HOME/.cabal/bin
          curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2.0/cabal-plan-0.6.2.0-x86_64-linux.xz > cabal-plan.xz
          echo "de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc  cabal-plan.xz" | sha256sum -c -
          xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
          rm -f cabal-plan.xz
          chmod a+x $HOME/.cabal/bin/cabal-plan
      - name: apt-get update
        run: apt-get update
      - name: Install dynamic libraries
        run: apt-get install -y ghc-8.8.3-dyn
      - name: Install extra compilers
        run: apt-get install -y ghc-7.0.4-dyn ghc-7.2.2-dyn ghc-7.4.2-dyn
      - name: Update Hackage index
        run: cabal v2-update
      # https://github.com/actions/checkout/issues/170
      - uses: actions/checkout@v2
        # - name: Checkout
        # - run: |
        # -   git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
        # -   git fetch origin $GITHUB_REF:temporary-ci-branch
        # -   git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
      - name: Validate print-config
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --lib-only -s print-config
      - name: Validate print-tool-versions
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --lib-only -s print-tool-versions
      - name: Validate build
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --lib-only -s build
      - name: Validate lib-tests
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --lib-only -s lib-tests
      - name: Validate lib-suite
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --lib-only -s lib-suite
      - name: Validate lib-suite-extras --extra-hc /opt/ghc/7.0.4/bin/ghc-7.0.4
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --lib-only -s lib-suite-extras --extra-hc /opt/ghc/7.0.4/bin/ghc-7.0.4
      - name: Validate lib-suite-extras --extra-hc /opt/ghc/7.2.2/bin/ghc-7.2.2
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --lib-only -s lib-suite-extras --extra-hc /opt/ghc/7.2.2/bin/ghc-7.2.2
      - name: Validate lib-suite-extras --extra-hc /opt/ghc/7.4.2/bin/ghc-7.4.2
        run: sh validate.sh -j 2 -w ghc-8.8.3 -v --lib-only -s lib-suite-extras --extra-hc /opt/ghc/7.4.2/bin/ghc-7.4.2
