mirror of
https://github.com/ilyakooo0/streamly.git
synced 2024-09-11 08:25:40 +03:00
Update and refactor
* Use cabal build for 8.8.4 to avoid stack extra-deps * Use latest stack nightly for 8.10.4 * Remove cabal.project/stack.yaml from the distribution * Use cabal.project for using test+bench with sdist * Move sdist build without cabal.project file to circle-ci * Avoid stack.yaml relinking
This commit is contained in:
parent
c57d6db136
commit
6194cc1c1e
@ -58,8 +58,8 @@ env: &env
|
|||||||
PACKCHECK: "./packcheck.sh"
|
PACKCHECK: "./packcheck.sh"
|
||||||
# If you have not committed packcheck.sh in your repo at PACKCHECK
|
# If you have not committed packcheck.sh in your repo at PACKCHECK
|
||||||
# then it is automatically pulled from this URL.
|
# then it is automatically pulled from this URL.
|
||||||
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/harendra-kumar/packcheck"
|
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck"
|
||||||
PACKCHECK_GITHUB_COMMIT: "563702bd02c41343dcd3dfcfef0845ca428a9240"
|
PACKCHECK_GITHUB_COMMIT: "8c77f80fd3a9df7307d06256c11a9e31d066475e"
|
||||||
|
|
||||||
executors:
|
executors:
|
||||||
amd64-executor:
|
amd64-executor:
|
||||||
@ -106,10 +106,6 @@ preinstall: &preinstall
|
|||||||
|
|
||||||
project-preinstall: &project-preinstall
|
project-preinstall: &project-preinstall
|
||||||
run: |
|
run: |
|
||||||
# If a custom stack-yaml is specified, replace the default with that
|
|
||||||
if test -e "$STACK_YAML"; then rm -f stack.yaml && ln -sv $STACK_YAML stack.yaml; else true; fi
|
|
||||||
unset STACK_YAML
|
|
||||||
|
|
||||||
# Get packcheck if needed
|
# Get packcheck if needed
|
||||||
CURL=$(which curl)
|
CURL=$(which curl)
|
||||||
PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh
|
PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh
|
||||||
@ -140,6 +136,24 @@ save: &save
|
|||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
cabal-ghc-8_10_4:
|
||||||
|
<<: *env
|
||||||
|
executor: amd64-executor
|
||||||
|
steps:
|
||||||
|
- *preinstall
|
||||||
|
- checkout
|
||||||
|
- *project-preinstall
|
||||||
|
- *restore
|
||||||
|
- run:
|
||||||
|
environment:
|
||||||
|
DISABLE_TEST: "yes"
|
||||||
|
DISABLE_BENCH: "yes"
|
||||||
|
DISABLE_DIST_CHECKS: "yes"
|
||||||
|
command: |
|
||||||
|
apt-get install -y ghc-8.10.4
|
||||||
|
apt-get install -y cabal-install-3.4
|
||||||
|
bash -c "$PACKCHECK cabal"
|
||||||
|
- *save
|
||||||
stack-ghc-8_8:
|
stack-ghc-8_8:
|
||||||
<<: *env
|
<<: *env
|
||||||
executor: amd64-executor
|
executor: amd64-executor
|
||||||
@ -211,7 +225,6 @@ jobs:
|
|||||||
command: |
|
command: |
|
||||||
apt-get install -y ghc-8.2.2
|
apt-get install -y ghc-8.2.2
|
||||||
apt-get install -y cabal-install-3.2
|
apt-get install -y cabal-install-3.2
|
||||||
apt-get install libtinfo-dev
|
|
||||||
bash -c "$PACKCHECK $BUILD"
|
bash -c "$PACKCHECK $BUILD"
|
||||||
- *save
|
- *save
|
||||||
cabal-ghc-8_0_2:
|
cabal-ghc-8_0_2:
|
||||||
@ -350,7 +363,7 @@ jobs:
|
|||||||
apt-get install -y cabal-install-3.2
|
apt-get install -y cabal-install-3.2
|
||||||
# Run tests with coverage
|
# Run tests with coverage
|
||||||
cabal update
|
cabal update
|
||||||
cabal user-config update -a "jobs: 2"
|
cabal user-config update -a "jobs: 1"
|
||||||
bin/test.sh --coverage --raw
|
bin/test.sh --coverage --raw
|
||||||
# Upload results to coveralls.io
|
# Upload results to coveralls.io
|
||||||
PATH=$HOME/.cabal/bin:$PATH
|
PATH=$HOME/.cabal/bin:$PATH
|
||||||
@ -381,6 +394,8 @@ workflows:
|
|||||||
version: 2
|
version: 2
|
||||||
build:
|
build:
|
||||||
jobs:
|
jobs:
|
||||||
|
- cabal-ghc-8_10_4:
|
||||||
|
name: GHC 8.10.4 + sdist
|
||||||
#- cabal-ghc-8.6.5
|
#- cabal-ghc-8.6.5
|
||||||
#- cabal-ghc-8_4_4:
|
#- cabal-ghc-8_4_4:
|
||||||
# name: GHC 8.4.4 + x86 + debug
|
# name: GHC 8.4.4 + x86 + debug
|
||||||
|
40
.github/workflows/haskell.yml
vendored
40
.github/workflows/haskell.yml
vendored
@ -22,8 +22,8 @@ jobs:
|
|||||||
CABAL_HACKAGE_MIRROR: hackage.haskell.org:http://hackage.fpcomplete.com
|
CABAL_HACKAGE_MIRROR: hackage.haskell.org:http://hackage.fpcomplete.com
|
||||||
|
|
||||||
PACKCHECK_LOCAL_PATH: "./packcheck.sh"
|
PACKCHECK_LOCAL_PATH: "./packcheck.sh"
|
||||||
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/harendra-kumar/packcheck"
|
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck"
|
||||||
PACKCHECK_GITHUB_COMMIT: "563702bd02c41343dcd3dfcfef0845ca428a9240"
|
PACKCHECK_GITHUB_COMMIT: "8c77f80fd3a9df7307d06256c11a9e31d066475e"
|
||||||
|
|
||||||
BUILD: ${{ matrix.build }}
|
BUILD: ${{ matrix.build }}
|
||||||
GHCVER: ${{ matrix.ghc_version }}
|
GHCVER: ${{ matrix.ghc_version }}
|
||||||
@ -31,8 +31,10 @@ jobs:
|
|||||||
CABAL_BUILD_OPTIONS: ${{ matrix.cabal_build_options }} --flag limit-build-mem
|
CABAL_BUILD_OPTIONS: ${{ matrix.cabal_build_options }} --flag limit-build-mem
|
||||||
CABAL_BUILD_TARGETS: ${{ matrix.cabal_build_targets }}
|
CABAL_BUILD_TARGETS: ${{ matrix.cabal_build_targets }}
|
||||||
CABAL_PROJECT: ${{ matrix.cabal_project }}
|
CABAL_PROJECT: ${{ matrix.cabal_project }}
|
||||||
|
STACK_YAML: ${{ matrix.stack_yaml }}
|
||||||
STACK_BUILD_OPTIONS: ${{ matrix.stack_build_options }}
|
STACK_BUILD_OPTIONS: ${{ matrix.stack_build_options }}
|
||||||
DISABLE_DOCS: ${{ matrix.disable_docs }}
|
DISABLE_DOCS: ${{ matrix.disable_docs }}
|
||||||
|
DISABLE_TEST: ${{ matrix.disable_test }}
|
||||||
SDIST_OPTIONS: ${{ matrix.sdist_options }}
|
SDIST_OPTIONS: ${{ matrix.sdist_options }}
|
||||||
DISABLE_SDIST_BUILD: ${{ matrix.disable_sdist_build }}
|
DISABLE_SDIST_BUILD: ${{ matrix.disable_sdist_build }}
|
||||||
DISABLE_DIST_CHECKS: ${{ matrix.disable_dist_checks }}
|
DISABLE_DIST_CHECKS: ${{ matrix.disable_dist_checks }}
|
||||||
@ -41,7 +43,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
name: [9.0.1, 8.10.4+stack+lts-17.8, 8.10.2+macOS, 8.8.3+inspection+fusion-plugin+Werror, 8.8.4+stack+lts-16.31, 8.6.5+fusion-plugin, 8.6.5+streamk, 8.4.4+debug, doctests]
|
name: [9.0.1, 8.10.4+stack+nightly-2021-06-10, 8.10.4+macOS, 8.8.4+inspection+fusion-plugin+Werror, 8.8.4, 8.6.5+fusion-plugin, 8.6.5+streamk, 8.4.4+debug, doctests]
|
||||||
cabal_version: ["3.4"]
|
cabal_version: ["3.4"]
|
||||||
include:
|
include:
|
||||||
- name: 9.0.1
|
- name: 9.0.1
|
||||||
@ -50,37 +52,40 @@ jobs:
|
|||||||
cabal_build_options: "--allow-newer=hsc2hs"
|
cabal_build_options: "--allow-newer=hsc2hs"
|
||||||
disable_sdist_build: "y"
|
disable_sdist_build: "y"
|
||||||
runner: ubuntu-latest
|
runner: ubuntu-latest
|
||||||
- name: 8.10.4+stack+lts-17.8
|
- name: 8.10.4+stack+nightly-2021-06-10
|
||||||
build: stack
|
build: stack
|
||||||
resolver: lts-17.8
|
resolver: nightly-2021-06-10
|
||||||
|
stack_yaml: stack.yaml
|
||||||
sdist_options: "--ignore-check"
|
sdist_options: "--ignore-check"
|
||||||
stack_build_options: "--flag streamly-benchmarks:-opt"
|
stack_build_options: "--flag streamly-benchmarks:-opt"
|
||||||
runner: ubuntu-latest
|
runner: ubuntu-latest
|
||||||
- name: 8.10.2+macOS
|
- name: 8.10.4+macOS
|
||||||
ghc_version: 8.10.2
|
ghc_version: 8.10.4
|
||||||
build: cabal-v2
|
build: cabal-v2
|
||||||
disable_sdist_build: "y"
|
disable_sdist_build: "y"
|
||||||
runner: macos-latest
|
runner: macos-latest
|
||||||
- name: 8.8.3+inspection+fusion-plugin+Werror
|
- name: 8.8.4+inspection+fusion-plugin+Werror
|
||||||
ghc_version: 8.8.3
|
ghc_version: 8.8.4
|
||||||
build: cabal-v2
|
build: cabal-v2
|
||||||
cabal_project: cabal.project.ci
|
cabal_project: cabal.project.ci
|
||||||
cabal_build_options: "--flag fusion-plugin --flag inspection"
|
cabal_build_options: "--flag fusion-plugin --flag inspection"
|
||||||
runner: ubuntu-latest
|
runner: ubuntu-latest
|
||||||
- name: 8.8.4+stack+lts-16.31
|
- name: 8.8.4
|
||||||
build: stack
|
ghc_version: 8.8.4
|
||||||
resolver: lts-16.31
|
build: cabal
|
||||||
sdist_options: "--ignore-check"
|
cabal_project: cabal.project
|
||||||
stack_build_options: "--flag streamly-benchmarks:-opt"
|
cabal_build_options: "--flag -opt"
|
||||||
runner: ubuntu-latest
|
runner: ubuntu-latest
|
||||||
- name: 8.6.5+streamk
|
- name: 8.6.5+streamk
|
||||||
ghc_version: 8.6.5
|
ghc_version: 8.6.5
|
||||||
build: cabal-v2
|
build: cabal-v2
|
||||||
|
cabal_project: cabal.project
|
||||||
cabal_build_options: "--flag streamk --flag -opt"
|
cabal_build_options: "--flag streamk --flag -opt"
|
||||||
runner: ubuntu-latest
|
runner: ubuntu-latest
|
||||||
- name: 8.6.5+fusion-plugin
|
- name: 8.6.5+fusion-plugin
|
||||||
ghc_version: 8.6.5
|
ghc_version: 8.6.5
|
||||||
build: cabal-v2
|
build: cabal-v2
|
||||||
|
cabal_project: cabal.project
|
||||||
cabal_build_options: "--flag fusion-plugin"
|
cabal_build_options: "--flag fusion-plugin"
|
||||||
# haddock generation does not work with 8.6.5+fusion-plugin
|
# haddock generation does not work with 8.6.5+fusion-plugin
|
||||||
disable_docs: "y"
|
disable_docs: "y"
|
||||||
@ -88,14 +93,15 @@ jobs:
|
|||||||
- name: 8.4.4+debug
|
- name: 8.4.4+debug
|
||||||
ghc_version: 8.4.4
|
ghc_version: 8.4.4
|
||||||
build: cabal-v2
|
build: cabal-v2
|
||||||
|
cabal_project: cabal.project
|
||||||
cabal_build_options: "--flag debug --flag -opt"
|
cabal_build_options: "--flag debug --flag -opt"
|
||||||
runner: ubuntu-latest
|
runner: ubuntu-latest
|
||||||
- name: doctests
|
- name: doctests
|
||||||
ghc_version: 8.8.3
|
ghc_version: 8.8.3
|
||||||
build: cabal-v2
|
build: cabal-v2
|
||||||
cabal_build_options: "--flag doctests"
|
cabal_build_options: "--flag doctests"
|
||||||
disable_dist_checks: "y"
|
|
||||||
cabal_build_targets: doctests
|
cabal_build_targets: doctests
|
||||||
|
disable_sdist_build: "y"
|
||||||
runner: ubuntu-latest
|
runner: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -114,10 +120,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Download packcheck
|
- name: Download packcheck
|
||||||
run: |
|
run: |
|
||||||
# If a custom stack-yaml is specified, replace the default with that
|
|
||||||
if test -e "$STACK_YAML"; then rm -f stack.yaml && ln -sv $STACK_YAML stack.yaml; else true; fi
|
|
||||||
unset STACK_YAML
|
|
||||||
|
|
||||||
# Get packcheck if needed
|
# Get packcheck if needed
|
||||||
CURL=$(which curl)
|
CURL=$(which curl)
|
||||||
PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh
|
PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
.packcheck.ignore
|
.packcheck.ignore
|
||||||
|
cabal.project
|
||||||
|
cabal.project.ci
|
||||||
cabal.project.coverage
|
cabal.project.coverage
|
||||||
cabal.project.hpc-coveralls
|
cabal.project.hpc-coveralls
|
||||||
hie.yaml
|
hie.yaml
|
||||||
|
stack.yaml
|
||||||
|
@ -63,8 +63,8 @@ environment:
|
|||||||
PACKCHECK_LOCAL_PATH: "./packcheck.sh"
|
PACKCHECK_LOCAL_PATH: "./packcheck.sh"
|
||||||
# If you have not committed packcheck.sh in your repo at PACKCHECK_LOCAL_PATH
|
# If you have not committed packcheck.sh in your repo at PACKCHECK_LOCAL_PATH
|
||||||
# then it is automatically pulled from this URL.
|
# then it is automatically pulled from this URL.
|
||||||
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/harendra-kumar/packcheck"
|
PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck"
|
||||||
PACKCHECK_GITHUB_COMMIT: "563702bd02c41343dcd3dfcfef0845ca428a9240"
|
PACKCHECK_GITHUB_COMMIT: "8c77f80fd3a9df7307d06256c11a9e31d066475e"
|
||||||
|
|
||||||
# Override the temp directory to avoid sed escaping issues
|
# Override the temp directory to avoid sed escaping issues
|
||||||
# See https://github.com/haskell/cabal/issues/5386
|
# See https://github.com/haskell/cabal/issues/5386
|
||||||
|
@ -84,8 +84,6 @@ extra-source-files:
|
|||||||
bin/mk-tags.sh
|
bin/mk-tags.sh
|
||||||
bin/targets.sh
|
bin/targets.sh
|
||||||
bin/test.sh
|
bin/test.sh
|
||||||
cabal.project
|
|
||||||
cabal.project.ci
|
|
||||||
charts-0/streamly-vs-list-time.svg
|
charts-0/streamly-vs-list-time.svg
|
||||||
configure
|
configure
|
||||||
configure.ac
|
configure.ac
|
||||||
@ -137,7 +135,6 @@ extra-source-files:
|
|||||||
test/lib/Streamly/Test/Prelude/Common.hs
|
test/lib/Streamly/Test/Prelude/Common.hs
|
||||||
test/streamly-tests.cabal
|
test/streamly-tests.cabal
|
||||||
test/version-bounds.hs
|
test/version-bounds.hs
|
||||||
stack.yaml
|
|
||||||
|
|
||||||
extra-tmp-files:
|
extra-tmp-files:
|
||||||
config.log
|
config.log
|
||||||
|
Loading…
Reference in New Issue
Block a user