Skip to content

Create lints.yml

Create lints.yml #473

Workflow file for this run

name: Test that we can build the hello world example form hackage
on:
push:
workflow_dispatch:
jobs:
test:
name: "build ${{ matrix.platform }}${{ matrix.target-platform }}-${{ matrix.compiler-nix-name }}${{ matrix.minimal && '-minimal' || '' }}${{ matrix.iog && '-iog' || '' }}"
strategy:
fail-fast: false
matrix:
platform:
- x86_64-darwin
- x86_64-linux
# Skipping because we do not have runners for these set up.
#- aarch64-darwin
#- aarch64-linux
compiler-nix-name:
- ghc8107
- ghc928
- ghc962
target-platform:
- ""
- "-static"
- "-js"
- "-windows"
minimal:
- false
- true
iog:
- false
- true
exclude:
# Just cross compiling javascript with ghc 9.6 for now
- compiler-nix-name: ghc8107
target-platform: "-js"
- compiler-nix-name: ghc928
target-platform: "-js"
# Static builds not working for darwin yet
- platform: x86_64-darwin
target-platform: "-static"
# Static tools not working right now (so just building "-static-minimal" for now)
- target-platform: "-static"
minimal: false
# Windows cross compilation only works on x86_64 right now.
- platform: aarch64-darwin
target-platform: "-windows"
- platform: aarch64-linux
target-platform: "-windows"
# Also broken for darwin.
- platform: x86_64-darwin
target-platform: "-windows"
# It does not makes sense to build minimal image that include IOG extra tooling ...
# ... "-minimal" and "-iog" are mutually exclusive options!
- minimal: true
iog: true
# On darwin the `-js` target require `-minimal` to be set:
- target-platform: "-js"
platform: aarch64-darwin
minimal: false
- target-platform: "-js"
platform: x86_64-darwin
minimal: false
uses: ./.github/workflows/build-and-test.yml
with:
platform: ${{ matrix.platform }}
target-platform: ${{ matrix.target-platform }}
compiler-nix-name: ${{ matrix.compiler-nix-name }}
minimal: ${{ matrix.minimal }}
iog: ${{ matrix.iog }}