You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 12, 2020. It is now read-only.
i think this might be a helpful template for folks
on: [push, pull_request]
name: build
# adjust THISPACKAGE to be your package name and then have fun
env:
THISPACKAGE: ralist
CONFIG: --enable-tests --enable-benchmarks
defaults:
run:
shell: bash
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false # windows fails bench marking so i need to enable this for now
matrix:
ghc: ['7.10.3','8.0.2','8.2.2','8.4.4','8.6.5', '8.8.3','8.10.2','latest'] # ['7.0.4','7.2.2','7.4.2','7.6.3','7.8.4',
cabal: ['3.2.0.0'] # ,'latest'
os: [ubuntu-latest] #, macOS-latest, windows-latest]
include:
- os: macOS-latest
ghc: latest
cabal: latest
- os: ubuntu-latest
ghc: latest
cabal: latest
- os: windows-latest
ghc: '8.10.2.2'
cabal: '3.2.0.0'
# 8.10.2.2 is a bug fix for a bad windows packaging
# i hope that actions/setup-haskell upstream does a fix to ghc latest to point to this
name: GHC${{ matrix.ghc }},cabal${{matrix.cabal}},${{matrix.os}}
# double curly brace is a javascript splice or something??
steps:
- uses: actions/checkout@v2
- name: Setup Haskell
# uses: actions/[email protected] # the .3 is a bug fix? as is .4
# the v1 tag tracks the most recent release for the setup-haskell plugin,
# less ci bump exhaustion this way
uses: actions/setup-haskell@v1 # had to bump to .3 then .4, i'm tired :). I'd rather track close, but eh
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- run: cabal update
- run: cabal clean
- run: cabal configure $CONFIG
- run: cabal freeze $CONFIG
- uses: actions/cache@v2
name: windows caching
with:
path: |
c:\sr
dist-newstyle
key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
# restore keys is a fall back when the freeze plan is different
restore-keys: |
${{ runner.os }}-${{ matrix.ghc }}-
if: matrix.os == 'windows-latest'
- uses: actions/cache@v2
name: ubuntu-linux and osx caching
with:
path: |
~/.cabal/store
dist-newstyle
key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
# restore keys is a fall back when the freeze plan is different
restore-keys: |
${{ runner.os }}-${{ matrix.ghc }}-
if: matrix.os != 'windows-latest'
- run: cabal build --only-dependencies
- run: cabal build
- run: cabal test
- run: cabal bench
- run: cabal check
- run: cabal sdist -o `pwd`
- run: cabal v1-install ${THISPACKAGE}*.tar.gz
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
i think this might be a helpful template for folks
The text was updated successfully, but these errors were encountered: