Get a working build plan
parent
ee5be0735b
commit
9940aa4ae5
|
@ -19,7 +19,7 @@ RUN \
|
||||||
USER "$USER_NAME"
|
USER "$USER_NAME"
|
||||||
ENV PATH="/home/$USER_NAME/.cabal/bin:/home/$USER_NAME/.ghcup/bin:$PATH"
|
ENV PATH="/home/$USER_NAME/.cabal/bin:/home/$USER_NAME/.ghcup/bin:$PATH"
|
||||||
|
|
||||||
ARG GHC_VERSION=9.2.1
|
ARG GHC_VERSION=9.0.1
|
||||||
RUN \
|
RUN \
|
||||||
ghcup install ghc "$GHC_VERSION" --set && \
|
ghcup install ghc "$GHC_VERSION" --set && \
|
||||||
ghc --version
|
ghc --version
|
||||||
|
@ -28,3 +28,8 @@ ARG CABAL_VERSION=3.6.2.0
|
||||||
RUN \
|
RUN \
|
||||||
ghcup install cabal "$CABAL_VERSION" --set && \
|
ghcup install cabal "$CABAL_VERSION" --set && \
|
||||||
cabal --version
|
cabal --version
|
||||||
|
|
||||||
|
ARG HLS_VERSION=1.4.0
|
||||||
|
RUN \
|
||||||
|
ghcup install hls "$HLS_VERSION" --set && \
|
||||||
|
haskell-language-server-wrapper --version
|
||||||
|
|
|
@ -2,38 +2,34 @@ name: CI
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- main
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- main
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os:
|
os:
|
||||||
- macos-10.15
|
- macos-11
|
||||||
- ubuntu-18.04
|
- ubuntu-20.04
|
||||||
- windows-2019
|
- windows-2019
|
||||||
ghc:
|
ghc:
|
||||||
- 8.10.2
|
- 9.0.1
|
||||||
cabal:
|
cabal:
|
||||||
- 3.2.0.0
|
- 3.6.2.0
|
||||||
include:
|
|
||||||
- os: ubuntu-18.04
|
|
||||||
ghc: 8.8.4
|
|
||||||
cabal: 3.2.0.0
|
|
||||||
- os: ubuntu-18.04
|
|
||||||
ghc: 8.6.5
|
|
||||||
cabal: 3.2.0.0
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
- run: mkdir artifact
|
||||||
|
- run: mkdir artifact/${{ matrix.os }}
|
||||||
- id: setup-haskell
|
- id: setup-haskell
|
||||||
uses: actions/setup-haskell@v1
|
uses: haskell/actions/setup@v1
|
||||||
with:
|
with:
|
||||||
ghc-version: ${{ matrix.ghc }}
|
ghc-version: ${{ matrix.ghc }}
|
||||||
cabal-version: ${{ matrix.cabal }}
|
cabal-version: ${{ matrix.cabal }}
|
||||||
|
- run: cabal configure --enable-tests
|
||||||
- run: cabal freeze
|
- run: cabal freeze
|
||||||
- run: cat cabal.project.freeze
|
- run: cat cabal.project.freeze
|
||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
|
@ -43,24 +39,12 @@ jobs:
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal }}-
|
${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal }}-
|
||||||
${{ matrix.os }}-${{ matrix.ghc }}-
|
${{ matrix.os }}-${{ matrix.ghc }}-
|
||||||
|
- run: cabal build
|
||||||
|
- run: cabal install --installdir artifact/${{ matrix.os }} --install-method copy
|
||||||
- run: cabal test --test-show-details direct
|
- run: cabal test --test-show-details direct
|
||||||
- run: cabal install --installdir output --install-method copy
|
- run: cabal check
|
||||||
- run: strip output/brittany*
|
- run: cabal sdist --output-dir artifact/${{ matrix.os }}
|
||||||
- uses: actions/upload-artifact@v2
|
- uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
path: output/brittany*
|
path: artifact
|
||||||
name: brittany-${{ matrix.os }}-ghc-${{ matrix.ghc }}-${{ github.sha }}
|
name: brittany-${{ github.sha }}
|
||||||
- if: matrix.os == 'ubuntu-18.04' && matrix.ghc == '8.10.2'
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
path: dist-newstyle/sdist/brittany-*.tar.gz
|
|
||||||
name: brittany-${{ github.sha }}.tar.gz
|
|
||||||
- run: cabal check
|
|
||||||
|
|
||||||
|
|
||||||
nix:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: cachix/install-nix-action@v12
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- run: nix-build
|
|
||||||
|
|
|
@ -10,7 +10,8 @@ local/
|
||||||
.cabal-sandbox/
|
.cabal-sandbox/
|
||||||
.stack-work/
|
.stack-work/
|
||||||
cabal.sandbox.config
|
cabal.sandbox.config
|
||||||
cabal.project.local
|
cabal.project.local*
|
||||||
|
cabal.project.freeze
|
||||||
.ghc.environment.*
|
.ghc.environment.*
|
||||||
result
|
result
|
||||||
.stack-work*
|
.stack-work*
|
||||||
|
|
|
@ -91,8 +91,8 @@ library {
|
||||||
-fno-warn-redundant-constraints
|
-fno-warn-redundant-constraints
|
||||||
}
|
}
|
||||||
build-depends:
|
build-depends:
|
||||||
{ base >=4.12 && <4.15
|
{ base >=4.12 && <4.16
|
||||||
, ghc >=8.6.1 && <8.11
|
, ghc >=8.6.1 && <8.11 || >=9.0.1 && <9.1
|
||||||
, ghc-paths >=0.1.0.9 && <0.2
|
, ghc-paths >=0.1.0.9 && <0.2
|
||||||
, ghc-exactprint >=0.5.8 && <0.6.5
|
, ghc-exactprint >=0.5.8 && <0.6.5
|
||||||
, transformers >=0.5.2.0 && <0.6
|
, transformers >=0.5.2.0 && <0.6
|
||||||
|
@ -118,7 +118,7 @@ library {
|
||||||
, semigroups >=0.18.2 && <0.20
|
, semigroups >=0.18.2 && <0.20
|
||||||
, cmdargs >=0.10.14 && <0.11
|
, cmdargs >=0.10.14 && <0.11
|
||||||
, czipwith >=1.0.1.0 && <1.1
|
, czipwith >=1.0.1.0 && <1.1
|
||||||
, ghc-boot-th >=8.6.1 && <8.11
|
, ghc-boot-th >=8.6.1 && <8.11 || >=9.0.1 && <9.1
|
||||||
, filepath >=1.4.1.0 && <1.5
|
, filepath >=1.4.1.0 && <1.5
|
||||||
, random >= 1.1 && <1.3
|
, random >= 1.1 && <1.3
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
packages: .
|
||||||
|
|
||||||
|
allow-newer:
|
||||||
|
, butcher:base
|
||||||
|
, data-tree-print:base
|
||||||
|
, multistate:base
|
||||||
|
|
||||||
|
-- https://github.com/lspitzner/czipwith/pull/2
|
||||||
|
source-repository-package
|
||||||
|
type: git
|
||||||
|
location: https://github.com/mithrandi/czipwith
|
||||||
|
tag: b6245884ae83e00dd2b5261762549b37390179f8
|
Loading…
Reference in New Issue