git.iko.soy/typeable/pandoc
on master help sign in
CI: use cabal for macos builds.
c2f1fadJohn MacFarlane
.github/workflows/ci.yml+34−17
@@ -140,6 +140,12 @@ jobs:
140 macos:
140 macos:
141
141
142 runs-on: macOS-10.15
142 runs-on: macOS-10.15
143+ strategy:
144+ fail-fast: true
145+ matrix:
146+ versions:
147+ - ghc: '8.10.1'
148+ cabal: '3.2'
143
149
144 steps:
150 steps:
145 - uses: actions/checkout@v1
151 - uses: actions/checkout@v1
@@ -147,32 +153,43 @@ jobs:
147 - name: Install recent cabal/ghc
153 - name: Install recent cabal/ghc
148 uses: actions/setup-haskell@v1.1
154 uses: actions/setup-haskell@v1.1
149 with:
155 with:
150− ghc-version: '8.6.5'
156+ ghc-version: '8.10.1'
151− enable-stack: true
157+ cabal-version: '3.2'
152− stack-version: 'latest'
158+
159+ - name: Install recent cabal/ghc
160+ uses: actions/setup-haskell@v1.1
161+ with:
162+ ghc-version: ${{ matrix.versions.ghc }}
163+ cabal-version: ${{ matrix.versions.cabal }}
153
164
154 # declare/restore cached things
165 # declare/restore cached things
155− # caching doesn't work for scheduled runs yet https://github.com/actions/cache/issues/63
166+ # caching doesn't work for scheduled runs yet
167+ # https://github.com/actions/cache/issues/63
156
168
157− - name: Cache stack global package db
169+ - name: Cache cabal global package db
158− id: stack-global
170+ id: cabal-global
159 uses: actions/cache@v2
171 uses: actions/cache@v2
160 with:
172 with:
161 path: |
173 path: |
162− ~/.stack
174+ ~/.cabal
163− key: ${{ runner.os }}-stack-global-${{ hashFiles('stack.yaml') }}
175+ key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-global-${{ hashFiles('cabal.project') }}
164
176
165− # stack's local package db
166− # - name: Cache .stack-work
177+ - name: Cache cabal work
178+ id: cabal-local
167− # uses: actions/cache@v1
179+ uses: actions/cache@v2
168− # with:
180+ with:
169− # path: .stack-work
181+ path: |
170− # key: ${{ runner.os }}-stack-work
182+ dist-newstyle
183+ key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-local
171
184
172 - name: Install dependencies
185 - name: Install dependencies
173 run: |
186 run: |
174− stack update
187+ cabal v2-update
175− stack test --dependencies-only --fast
188+ cabal v2-build --dependencies-only --enable-tests --disable-optimization
176 - name: Build and test
189 - name: Build and test
177 run: |
190 run: |
178− stack test --fast --test-arguments=--hide-successes
191+ cabal v2-build --enable-tests --disable-optimization 2>&1 | tee build.log
192+ # fail if warnings in local build
193+ ! grep -q ": *[Ww]arning:" build.log || exit 1
194+ cabal v2-test --disable-optimization
195+