Get a working build plan

pull/357/head
Taylor Fausak 2021-10-30 14:48:37 +00:00 committed by GitHub
parent ee5be0735b
commit 9940aa4ae5
5 changed files with 39 additions and 37 deletions

View File

@ -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

View File

@ -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

3
.gitignore vendored
View File

@ -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*

View File

@ -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
} }

12
cabal.project Normal file
View File

@ -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