Merge pull request #1334 from google-research/primitive-name-map-e #25
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Haskell tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
DEX_CI: 1 | |
concurrency: | |
group: haskell-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, macos-latest] | |
include: | |
- os: macos-latest | |
install_deps: brew install llvm@12 pkg-config wget gzip coreutils | |
path_extension: $(brew --prefix llvm@12)/bin | |
- os: ubuntu-20.04 | |
install_deps: sudo apt-get install llvm-12-tools llvm-12-dev pkg-config wget gzip wamerican | |
path_extension: /usr/lib/llvm-12/bin | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v2 | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.stack | |
~/.ghcup/ghc/8.10.7 | |
$GITHUB_WORKSPACE/.stack-work | |
$GITHUB_WORKSPACE/.stack-work-test | |
$GITHUB_WORKSPACE/examples/t10k-images-idx3-ubyte | |
$GITHUB_WORKSPACE/examples/t10k-labels-idx1-ubyte | |
key: ${{ runner.os }}-v5-${{ hashFiles('**/*.cabal', 'stack*.yaml') }} | |
restore-keys: ${{ runner.os }}-v5- | |
- name: Install system dependencies | |
run: | | |
${{ matrix.install_deps }} | |
if [[ "$OSTYPE" == "darwin"* ]]; then ghcup install ghc 8.10.7; fi | |
echo "${{ matrix.path_extension }}" >> $GITHUB_PATH | |
# This step is a workaround. | |
# See issue for context: https://github.com/actions/cache/issues/445 | |
- name: Remove cached Setup executables | |
run: rm -rf ~/.stack/setup-exe-cache | |
if: runner.os == 'macOS' | |
- name: Build, treating warnings as errors | |
run: make build-ci | |
if: runner.os == 'Linux' | |
- name: Build | |
run: make build | |
- name: Run tests | |
run: make tests |