hackport-0.6.6: cabal/boot/ci-linux.template.yml
# This file is auto-generated
#
# To regenerate it run
#
# make github-actions
#
name: Linux
on:
push:
branches:
- master
- "3.2"
pull_request:
branches:
- master
release:
types:
- created
jobs:
{% for job in jobs %}
validate-{{ mangleVersion job.version }}{% if job.old %}-old{% endif %}:
name: validate.sh {%if job.old %}old GHCs{% else %}ghc-{{job.version}}{% endif %}
runs-on: ubuntu-18.04
{% for needs in job.needs %}
needs: validate-{{ mangleVersion needs }}
{% endfor %}
container:
image: phadej/ghc:{{job.version}}-{% if job.xenial %}xenial{% else %}bionic{% endif %}
steps:
- name: System info
run: |
uname -a
# 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 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
{% if or job.xenial job.old %}
- name: apt-get update
run: apt-get update
{% endif %}
{% if job.xenial %}
- name: Install dynamic libraries
run: apt-get install -y ghc-{{job.version}}-dyn
{% endif %}
{% if job.old %}
- name: Install extra compilers
run: apt-get install -y ghc-7.0.4-dyn ghc-7.2.2-dyn ghc-7.4.2-dyn
{% endif %}
- name: Update Hackage index
run: cabal v2-update
# https://github.com/actions/checkout/issues/170
# - uses: actions/checkout@v2
- name: Checkout
run: |
echo $GITHUB_REF $GITHUB_SHA
git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git .
git fetch origin $GITHUB_SHA:temporary-ci-branch
git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
{% 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 %}