mirror of
https://github.com/Haskell-Things/ImplicitCAD.git
synced 2024-09-17 16:08:01 +03:00
Update CI
This commit is contained in:
parent
2d026d39bd
commit
fc71167f51
18
.github/workflows/ci.dhall
vendored
18
.github/workflows/ci.dhall
vendored
@ -1,17 +1,7 @@
|
||||
let haskellCi = https://raw.githubusercontent.com/sorki/github-actions-dhall/pending/haskell-ci.dhall
|
||||
let haskellCi =
|
||||
https://raw.githubusercontent.com/sorki/github-actions-dhall/main/haskell-ci.dhall
|
||||
|
||||
in haskellCi.generalCi
|
||||
haskellCi.matrixSteps
|
||||
( Some
|
||||
{ ghc =
|
||||
[ haskellCi.GHC.GHC947
|
||||
, haskellCi.GHC.GHC902
|
||||
, haskellCi.GHC.GHC8107
|
||||
]
|
||||
, cabal = [ haskellCi.Cabal.Cabal310 ]
|
||||
}
|
||||
)
|
||||
// { on = [ haskellCi.Event.push
|
||||
, haskellCi.Event.pull_request ]
|
||||
}
|
||||
(haskellCi.withHlint haskellCi.defaultCabalSteps)
|
||||
(haskellCi.DhallMatrix::{=} with ghc = haskellCi.defaultGHC3)
|
||||
: haskellCi.CI.Type
|
||||
|
10
.github/workflows/ci.sh
vendored
10
.github/workflows/ci.sh
vendored
@ -1,10 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# Script by @fisx
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
# cd into the dir where this script is placed
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||
|
||||
echo "regenerating .github/workflows/ci.yaml..."
|
||||
echo "regenerating .github/workflows/ci.yaml"
|
||||
|
||||
# based on https://github.com/vmchale/github-actions-dhall
|
||||
which dhall-to-yaml || cabal install dhall-yaml
|
||||
dhall-to-yaml --file ci.dhall > ci.yaml
|
||||
which dhall-to-yaml-ng || cabal install dhall-yaml
|
||||
dhall-to-yaml-ng --generated-comment --file ci.dhall > ci.yaml
|
||||
|
87
.github/workflows/ci.yaml
vendored
87
.github/workflows/ci.yaml
vendored
@ -1,46 +1,57 @@
|
||||
# Code generated by dhall-to-yaml. DO NOT EDIT.
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
name: "GHC ${{ matrix.ghc }}, Cabal ${{ matrix.cabal }}, OS ${{ matrix.os }}"
|
||||
"runs-on": "${{ matrix.os }}"
|
||||
steps:
|
||||
- uses: "actions/checkout@v3"
|
||||
- id: setup-haskell-cabal
|
||||
uses: "haskell-actions/setup@v2"
|
||||
with:
|
||||
cabal-version: "${{ matrix.cabal }}"
|
||||
enable-stack: false
|
||||
ghc-version: "${{ matrix.ghc }}"
|
||||
- name: Update Hackage repository
|
||||
run: cabal update
|
||||
- name: cabal.project.local.ci
|
||||
run: |
|
||||
if [ -e cabal.project.local.ci ]; then
|
||||
cp cabal.project.local.ci cabal.project.local
|
||||
fi
|
||||
- name: freeze
|
||||
run: cabal freeze --enable-tests --enable-benchmarks
|
||||
- uses: "actions/cache@v3"
|
||||
with:
|
||||
key: "${{ runner.os }}-${{ matrix.ghc }}-cabal-${{ hashFiles('cabal.project.freeze') }}"
|
||||
path: |
|
||||
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
|
||||
dist-newstyle
|
||||
- name: Install dependencies
|
||||
run: cabal build all --enable-tests --enable-benchmarks --only-dependencies
|
||||
- name: build all
|
||||
run: cabal build all --enable-tests --enable-benchmarks
|
||||
- name: test all
|
||||
run: cabal test all --enable-tests
|
||||
- name: haddock all
|
||||
run: cabal haddock all
|
||||
- uses: "actions/checkout@v4"
|
||||
with:
|
||||
submodules: recursive
|
||||
- id: "setup-haskell-cabal"
|
||||
uses: "haskell-actions/setup@v2"
|
||||
with:
|
||||
"cabal-version": "${{ matrix.cabal }}"
|
||||
"ghc-version": "${{ matrix.ghc }}"
|
||||
- name: Update Hackage repository
|
||||
run: cabal update
|
||||
- name: cabal.project.local.ci
|
||||
run: |
|
||||
if [ -e cabal.project.local.ci ]; then
|
||||
cp cabal.project.local.ci cabal.project.local
|
||||
fi
|
||||
- name: freeze
|
||||
run: "cabal freeze --enable-tests --enable-benchmarks"
|
||||
- uses: "actions/cache@v3"
|
||||
with:
|
||||
key: "${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal}}-${{ hashFiles('cabal.project.freeze') }}"
|
||||
path: |
|
||||
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
|
||||
dist-newstyle
|
||||
- name: Install dependencies
|
||||
run: "cabal build all --enable-tests --enable-benchmarks --only-dependencies"
|
||||
- name: build all
|
||||
run: "cabal build all --enable-tests --enable-benchmarks"
|
||||
- name: test all
|
||||
run: "cabal test all --enable-tests"
|
||||
- name: haddock all
|
||||
run: cabal haddock all
|
||||
- name: "Install and run hlint (optional)"
|
||||
run: |
|
||||
cabal install hlint
|
||||
hlint -g --no-exit-code
|
||||
strategy:
|
||||
matrix:
|
||||
cabal:
|
||||
- '3.10'
|
||||
- '3.10'
|
||||
ghc:
|
||||
- '9.4.7'
|
||||
- '9.0.2'
|
||||
- '8.10.7'
|
||||
- '9.6.3'
|
||||
- '9.4.7'
|
||||
- '9.2.8'
|
||||
os:
|
||||
- "ubuntu-latest"
|
||||
name: Haskell CI
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
'on':
|
||||
pull_request: {}
|
||||
push: {}
|
||||
schedule:
|
||||
- cron: "4 20 10 * *"
|
||||
|
Loading…
Reference in New Issue
Block a user