hackport-0.6.6: cabal/boot/ci-macos.template.yml
# This file is auto-generated
#
# To regenerate it run
#
# make github-actions
#
name: MacOS
on:
push:
branches:
- master
- "3.2"
pull_request:
branches:
- master
release:
types:
- created
jobs:
{% for job in macosJobs %}
validate-macos-{{ mangleVersion job.version }}:
name: validate.sh macos ghc-{{job.version}}
runs-on: macos-latest
{% for needs in job.needs %}
needs: validate-macos-{{ mangleVersion needs }}
{% endfor %}
steps:
- name: System info
run: |
uname -a
- name: Install Autotools
run: |
brew install automake
- name: Install GHC
run: |
cd $(mktemp -d)
curl -sLO {{job.ghcUrl}}
tar -xJf ghc-*.tar.xz
cd ghc-*
./configure --prefix=/opt/ghc/{{job.version}}
sudo make install
- name: Install Cabal
run: |
cd $(mktemp -d)
curl -sLO https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-apple-darwin17.7.0.tar.xz
tar -xJf cabal-install-*.tar.xz
sudo mkdir -p /opt/cabal/3.0/bin
sudo cp cabal /opt/cabal/3.0/bin/cabal
sudo chmod 755 /opt/cabal/3.0/bin/cabal
- name: Set PATH
run: |
echo "::add-path::/opt/ghc/{{job.version}}/bin"
echo "::add-path::/opt/cabal/3.0/bin"
echo "::add-path::$HOME/.cabal/bin"
- name: Update Hackage index
run: cabal v2-update
- name: Install cabal-plan
run: |
cd $(mktemp -d)
{# aeson +fast, so we don't wait for -O2 #}
cabal v2-install cabal-plan --constraint='cabal-plan ^>=0.6.2.0' --constraint='aeson +fast'
- uses: actions/checkout@v2
{% for step in job.steps %}
- name: Validate {{step}}
run: sh validate.sh -j 2 -w ghc-{{job.version}} -v {{job.flags}} -s {{step}}
{% endfor %}
{% endfor %}