From b2516742702a6e80fbba916aac4e19be1c365a95 Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 13:36:14 +0530 Subject: [PATCH 1/9] Update version bounds for GHC 9.14.1 --- core/streamly-core.cabal | 8 ++++---- streamly.cabal | 17 +++++++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/core/streamly-core.cabal b/core/streamly-core.cabal index 5a3b62876d..25f665d03b 100644 --- a/core/streamly-core.cabal +++ b/core/streamly-core.cabal @@ -570,16 +570,16 @@ library -- depend on streamly. ghc-prim >= 0.5.3 && < 0.14 , fusion-plugin-types >= 0.1 && < 0.2 - , base >= 4.12 && < 4.22 + , base >= 4.12 && < 4.23 , exceptions >= 0.8.0 && < 0.11 , transformers >= 0.5.5 && < 0.7 -- streamly-unicode-core - , template-haskell >= 2.14 && < 2.24 + , template-haskell >= 2.14 && < 2.25 -- XXX to be removed , filepath >= 1.4.2 && < 1.6 - , containers >= 0.6.0 && < 0.8 + , containers >= 0.6.0 && < 0.9 , heaps >= 0.3 && < 0.5 if impl(ghc >= 9.0) @@ -591,4 +591,4 @@ library build-depends: monad-control >= 1.0 && < 1.1 if os(windows) - build-depends: Win32 >= 2.6 && < 2.14 + build-depends: Win32 >= 2.6 && < 2.15 diff --git a/streamly.cabal b/streamly.cabal index 58affdbe69..53b5da11ec 100644 --- a/streamly.cabal +++ b/streamly.cabal @@ -531,14 +531,14 @@ library -- packages depending on the "ghc" package (packages -- depending on doctest is a common example) can -- depend on streamly. - base >= 4.12 && < 4.22 + base >= 4.12 && < 4.23 , fusion-plugin-types >= 0.1 && < 0.2 - , containers >= 0.6.0 && < 0.8 + , containers >= 0.6.0 && < 0.9 , deepseq >= 1.4.4 && < 1.6 , exceptions >= 0.8.0 && < 0.11 , mtl >= 2.2.2 && < 2.4 , transformers >= 0.5.5 && < 0.7 - , template-haskell >= 2.14 && < 2.24 + , template-haskell >= 2.14 && < 2.25 -- The core streamly package , streamly-core == 0.3.0 @@ -550,10 +550,11 @@ library -- concurrency , lockfree-queue >= 0.2.4 && < 0.3 - , unicode-data >= 0.1 && < 0.7 + , unicode-data >= 0.1 && < 0.9 -- Network - , network >= 2.6 && < 3.3 + -- network version 3.2.8 is broken on windows + , network >= 2.6 && < 3.2.8 if impl(ghc < 9.10) @@ -570,21 +571,21 @@ library build-depends: monad-control >= 1.0 && < 1.1 if flag(internal-dev) - build-depends: primitive >= 0.5.4 && < 0.9 + build-depends: primitive >= 0.5.4 && < 0.10 -- For FileSystem.Event module if os(linux) build-depends: directory >= 1.2.2 && < 1.4 if os(windows) - build-depends: Win32 >= 2.6 && < 2.14 + build-depends: Win32 >= 2.6 && < 2.15 if os(darwin) build-depends: directory >= 1.2.2 && < 1.4 frameworks: Cocoa if flag(inspection) - build-depends: inspection-testing >= 0.4 && < 0.6 + build-depends: inspection-testing >= 0.4 && < 0.7 -- Array uses a Storable constraint in dev build making several inspection -- tests fail From c6f7926df2f461e1c5eb9147315d7511ff4fbade Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 13:50:22 +0530 Subject: [PATCH 2/9] Update CIs from master branch --- .cirrus.yml | 112 +++--- .github/workflows/haskell.yml | 630 +++++++++++++++++++++------------- appveyor.yml | 72 ++-- 3 files changed, 504 insertions(+), 310 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 888cf88f08..6dfe6d7f3c 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,54 +1,82 @@ freebsd_instance: - image_family: freebsd-14-2 + image_family: freebsd-14-3 task: - name: FreeBSD+ghc-9.6.6+cabal + name: FreeBSD+ghc-9.10.3+cabal env: - LC_ALL: C.UTF-8 - BUILD: cabal - GHCUP_VERSION: 0.1.40.0 - DOCSPEC_URL: https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20210111/cabal-docspec-0.0.0.20210111.xz - DOCSPEC_OPTIONS: "--timeout 60 --check-properties --property-variables xs" - # GHCUP_GHC_OPTIONS: ${{ matrix.ghcup_ghc_options }} - GHCVER: 9.6.6 - CABALVER: 3.10.1.0 - DISABLE_DOCS: n - ENABLE_DOCSPEC: n - DISABLE_TEST: n - DISABLE_BENCH: n - DISABLE_DIST_CHECKS: y - # SDIST_OPTIONS: ${{ matrix.sdist_options }} - DISABLE_SDIST_BUILD: y + PACKCHECK_COMMAND: cabal - # Cabal options + # ------------------------------------------------------------------------ + # Common options + # ------------------------------------------------------------------------ CABAL_REINIT_CONFIG: y - # CABAL_BUILD_OPTIONS: ${{ matrix.cabal_build_options }} --flag limit-build-mem - # CABAL_BUILD_TARGETS: ${{ matrix.cabal_build_targets }} - CABAL_PROJECT: cabal.project - CABAL_CHECK_RELAX: y + LC_ALL: C.UTF-8 + + # ------------------------------------------------------------------------ + # What to build + # ------------------------------------------------------------------------ + # DISABLE_TEST: "y" + # DISABLE_BENCH: "y" + # DISABLE_DOCS: "y" + DISABLE_SDIST_BUILD: "y" + # DISABLE_SDIST_GIT_CHECK: "y" + DISABLE_DIST_CHECKS: "y" + + # ------------------------------------------------------------------------ + # Selecting tool versions + # ------------------------------------------------------------------------ + # For updating see: https://downloads.haskell.org/~ghcup/ + GHCUP_VERSION: 0.1.50.2 + GHCVER: 9.10.3 - # Stack options - # STACK_UPGRADE: "y" - # RESOLVER: ${{ matrix.resolver }} - # STACK_YAML: ${{ matrix.stack_yaml }} - # STACK_BUILD_OPTIONS: ${{ matrix.stack_build_options }} + # ------------------------------------------------------------------------ + # stack options (if using stack builds) + # ------------------------------------------------------------------------ + # Note requiring a specific version of stack using STACKVER may fail due to + # github API limit while checking and upgrading/downgrading to the specific + # version. + #STACKVER: "1.6.5" + #STACK_UPGRADE: "y" + #STACK_YAML: "stack.yaml" - # packcheck location and revision + # ------------------------------------------------------------------------ + # cabal options + # ------------------------------------------------------------------------ + CABAL_CHECK_RELAX: y + CABAL_PROJECT: cabal.project + + # ------------------------------------------------------------------------ + # Location of packcheck.sh (the shell script invoked to perform CI tests ). + # ------------------------------------------------------------------------ + # You can either commit the packcheck.sh script at this path in your repo or + # you can use it by specifying the PACKCHECK_REPO_URL option below in which + # case it will be automatically copied from the packcheck repo to this path + # during CI tests. In any case it is finally invoked from this path. PACKCHECK: "./packcheck.sh" + # If you have not committed packcheck.sh in your repo at PACKCHECK + # then it is automatically pulled from this URL. PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck" - PACKCHECK_GITHUB_COMMIT: "v0.7.1" + PACKCHECK_GITHUB_COMMIT: "dd6862df527f317fd4987afa523fba3f4fde7e19" + + ghcup_cache: + folder: ~/.ghcup + fingerprint_script: echo $GHCUP_VERSION $GHCVER + + cabal_packages_cache: + folder: ~/.cabal/packages + fingerprint_script: echo $GHCVER - # Pull token from "secrets" setting of the github repo - # COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} - # COVERAGE: ${{ matrix.coverage }} + cabal_cache: + folder: ~/.cabal/store + fingerprint_script: echo $GHCVER - # hlint - # HLINT_VERSION: 3.6.1 - # HLINT_OPTIONS: "lint" - # HLINT_TARGETS: "core/src src test benchmark" + #local_cache: + # folder: ~/.local + # fingerprint_script: echo $GHCVER - # Subdir - # SUBDIR: ${{ matrix.subdir }} + #local_bin_cache: + # folder: ~/.local/bin + # fingerprint_script: echo $HLINT_VERSION deps_install_script: | pkg install -y gmake @@ -70,5 +98,9 @@ task: fi packcheck_run_script: | - export PATH=$HOME/.local/bin:$HOME/.ghcup/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/opt/curl/bin - bash -c "$PACKCHECK $BUILD" + # Commands like mount, sysctl for info require sbin + PTH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin + # Use "bash -c" instead of invoking directly to preserve quoted + # arguments in PACKCHECK_COMMAND e.g. DOCSPEC_OPTIONS="--timeout 60". + # Direct invocation would word-split on spaces inside quoted values. + bash -c "$PACKCHECK $PACKCHECK_COMMAND PATH=$PTH" diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml index cfc9362a2c..02778a5b7e 100644 --- a/.github/workflows/haskell.yml +++ b/.github/workflows/haskell.yml @@ -1,274 +1,410 @@ -name: Haskell CI +# packcheck-0.7.1 +# You can use any of the options supported by packcheck as environment +# variables here. See https://github.com/composewell/packcheck for all +# options and their explanation. + +name: TEST + +#----------------------------------------------------------------------------- +# Events on which the build should be triggered +#----------------------------------------------------------------------------- on: + workflow_dispatch: + pull_request: push: branches: - master - pull_request: + +#----------------------------------------------------------------------------- +# Build matrix +#----------------------------------------------------------------------------- jobs: build: - name: GHC ${{matrix.name}} + name: >- + ${{ matrix.runner }} + ${{ matrix.command }} + ${{ matrix.ghc_version }} + ${{ matrix.name }} env: - # packcheck environment variables + # ------------------------------------------------------------------------ + # Common options + # ------------------------------------------------------------------------ + CABAL_REINIT_CONFIG: y LC_ALL: C.UTF-8 - BUILD: ${{ matrix.build }} + + # ------------------------------------------------------------------------ + # What to build + # ------------------------------------------------------------------------ + # DISABLE_TEST: "y" + # DISABLE_BENCH: "y" + # DISABLE_DOCS: "y" + # DISABLE_SDIST_BUILD: "y" + # DISABLE_SDIST_GIT_CHECK: "y" + # DISABLE_DIST_CHECKS: "y" + + # ------------------------------------------------------------------------ + # Selecting tool versions + # ------------------------------------------------------------------------ # For updating see: https://downloads.haskell.org/~ghcup/ - GHCUP_VERSION: 0.1.20.0 - DOCSPEC_URL: https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20210111/cabal-docspec-0.0.0.20210111.xz - DOCSPEC_OPTIONS: "--timeout 60 --check-properties --property-variables xs" - GHCUP_GHC_OPTIONS: ${{ matrix.ghcup_ghc_options }} + GHCUP_VERSION: 0.1.50.2 GHCVER: ${{ matrix.ghc_version }} - CABALVER: ${{ matrix.cabal_version }} - DISABLE_DOCS: ${{ matrix.disable_docs }} - ENABLE_DOCSPEC: ${{ matrix.enable_docspec }} - DISABLE_TEST: ${{ matrix.disable_test }} - DISABLE_BENCH: ${{ matrix.disable_bench }} - DISABLE_DIST_CHECKS: ${{ matrix.disable_dist_checks }} - SDIST_OPTIONS: ${{ matrix.sdist_options }} - DISABLE_SDIST_BUILD: ${{ matrix.disable_sdist_build }} - - # Cabal options - CABAL_REINIT_CONFIG: y - # Github has machines with 2 CPUS and 6GB memory so the cabal jobs - # default (ncpus) is good, this can be checked from the packcheck - # output in case it changes. - CABAL_BUILD_OPTIONS: ${{ matrix.cabal_build_options }} - CABAL_BUILD_TARGETS: ${{ matrix.cabal_build_targets }} - CABAL_PROJECT: ${{ matrix.cabal_project }} + + # ------------------------------------------------------------------------ + # cabal options + # ------------------------------------------------------------------------ CABAL_CHECK_RELAX: y - # Stack options - STACK_UPGRADE: "y" - RESOLVER: ${{ matrix.resolver }} - STACK_YAML: ${{ matrix.stack_yaml }} - STACK_BUILD_OPTIONS: ${{ matrix.stack_build_options }} + # CABAL_BUILD_OPTIONS="-j1" + # Enable the above option if you: + # 1. want logs in serial order to be able to correlate them better. + # + # 2. run into memory issues due to Build paralellism. We need to + # have sufficient per CPU memory, if not we can use a lower -j + # option; cabal default is ncpus. + # + # Currently (2026-03-12) from packcheck output we see: + # Linux: 15GB, 4 cpus + # macOS: 7GB, 3 cpus + # Windows: 16GB, 4 cpus - # packcheck location and revision + # ------------------------------------------------------------------------ + # stack options (if using stack builds) + # ------------------------------------------------------------------------ + # Note requiring a specific version of stack using STACKVER may fail due to + # github API limit while checking and upgrading/downgrading to the specific + # version. + #STACKVER: "1.6.5" + #STACK_UPGRADE: "y" + STACK_YAML: "stack.yaml" + + # ------------------------------------------------------------------------ + # Location of packcheck.sh (the shell script invoked to perform CI tests ). + # ------------------------------------------------------------------------ + # You can either commit the packcheck.sh script at this path in your repo or + # you can use it by specifying the PACKCHECK_REPO_URL option below in which + # case it will be automatically copied from the packcheck repo to this path + # during CI tests. In any case it is finally invoked from this path. PACKCHECK: "./packcheck.sh" + # If you have not committed packcheck.sh in your repo at PACKCHECK + # then it is automatically pulled from this URL. PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck" - PACKCHECK_GITHUB_COMMIT: "8c61fb67ee860ad86049ab17e31bfa8f368b73cf" - - # Pull token from "secrets" setting of the github repo - COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} - COVERAGE: ${{ matrix.coverage }} + PACKCHECK_GITHUB_COMMIT: "dd6862df527f317fd4987afa523fba3f4fde7e19" - # hlint - HLINT_VERSION: 3.6.1 - HLINT_OPTIONS: "lint" - HLINT_TARGETS: "core/src src test benchmark" + # ------------------------------------------------------------------------ + # Final build variables + # ------------------------------------------------------------------------ + PACKCHECK_COMMAND: ${{ matrix.command }} ${{ matrix.pack_options }} # Subdir SUBDIR: ${{ matrix.subdir }} + # Pull token from "secrets" setting of the github repo + #COVERALLS_TOKEN: ${{ secrets.COVERALLS_TOKEN }} + #COVERAGE: ${{ matrix.coverage }} + + # ubuntu seems to have better support than debian on CI systems runs-on: ${{ matrix.runner }} continue-on-error: ${{ matrix.ignore_error }} strategy: - fail-fast: true + fail-fast: false matrix: - # The order is important to optimize fail-fast. + + # The order of jobs is important to optimize fail-fast. + + # This section is to order the important jobs first especially for + # "fail-fast" so that these are the ones started first. name: - - 9.10.1-Werror - # - 9.8.1-docspec - # - 8.10.7-coverage + - werror - # Note: if cabal.project is not specified benchmarks and tests won't - # run. But we need at least one test where we test without - # cabal.project because that is how hackage would build it. + # The name of the CI is built using the name and other info from CI, + # therefore, the "name" field can be same for all tests here. + # + # The reason we have an explicit "name" field here is to force + # an additional config instead of adding to an existing config + # while adding additional configs. + # Look at + # for more info about adding matrix elements. + # Adding any element to the list will increase the number of matrix + # elements proportional to the cross product. + + # Note: if cabal.project is not specified then benchmarks and + # tests won't run. But we need at least one test where we test + # without cabal.project because that is how hackage would build + # it. include: - - name: head - ghc_version: head - # The URL may change, to find a working URL go to https://gitlab.haskell.org/ghc/ghc/-/jobs/ - # Find a debian10/11/12 job, click on a passed/failed status, at the - # end of the output you will find the tar.xz name, put that tar - # name after "raw/", and put the job name after "job=". - # Also see https://github.com/mpickering/ghc-artefact-nix/blob/master/gitlab-artifact.nix - # - # May also use ghcup for installing ghc head version, use the - # version "LatestNightly", and the following config: - # ghcup config add-release-channel https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-0.0.7.yaml - ghcup_ghc_options: "-u https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/raw/ghc-x86_64-linux-deb10-int_native-validate.tar.xz?job=x86_64-linux-deb10-int_native-validate" - runner: ubuntu-latest - build: cabal - cabal_build_options: "--flag limit-build-mem" - cabal_version: 3.12.1.0 - cabal_project: cabal.project.ghc-head - disable_sdist_build: "y" - ignore_error: true - - name: 9.12.1 - ghc_version: 9.12.1 + + #- name: ci + # runner: ubuntu-latest + # command: cabal + # ghc_version: head + # # The URL may change, to find a working URL go to https://gitlab.haskell.org/ghc/ghc/-/jobs/ + # # Find a debian10/11/12 job, click on a passed/failed status, at the + # # end of the output you will find the tar.xz name, put that tar + # # name after "raw/", and put the job name after "job=". + # # Also see https://github.com/mpickering/ghc-artefact-nix/blob/master/gitlab-artifact.nix + # # + # # May also use ghcup for installing ghc head version, use the + # # version "LatestNightly", and the following config: + # # ghcup config add-release-channel https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-0.0.7.yaml + # # WARNING! cannot use # comments inside pack_options. + # pack_options: >- + # GHCUP_GHC_OPTIONS="-u https://gitlab.haskell.org/ghc/ghc/-/jobs/artifacts/master/raw/ghc-x86_64-linux-deb10-int_native-validate.tar.xz?job=x86_64-linux-deb10-int_native-validate" + # CABAL_PROJECT=cabal.project.ghc-head + # CABAL_BUILD_OPTIONS="--flag limit-build-mem" + # DISABLE_SDIST_BUILD="y" + # ignore_error: true + + - name: streamly-core-sdist runner: ubuntu-latest - build: cabal - cabal_build_options: "--flag limit-build-mem" - cabal_version: 3.12.1.0 - disable_sdist_build: "y" - cabal_project: cabal.project + command: cabal + ghc_version: 9.14.1 + subdir: core ignore_error: false - # Note: use linux for warning build for convenient dev testing - - name: 9.10.1-Werror - ghc_version: 9.10.1 - runner: ubuntu-latest - build: cabal - cabal_build_options: "--flag limit-build-mem" - cabal_version: 3.12.1.0 - disable_sdist_build: "y" - cabal_project: cabal.project.Werror + + - name: debug-unoptimized + runner: macos-latest + command: cabal + ghc_version: 9.14.1 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project + CABAL_BUILD_OPTIONS="--flag debug --flag -opt" + DISABLE_SDIST_BUILD="y" + DISABLE_DOCS="y" + DISABLE_BENCH="y" ignore_error: false - - name: 9.10.1-macos - ghc_version: 9.10.1 + + # Takes too long, so bench is disabled + - name: ghc-9.12.3 runner: macos-latest - build: cabal - cabal_build_options: "--flag limit-build-mem" - cabal_version: 3.12.1.0 - disable_sdist_build: "y" - cabal_project: cabal.project + command: stack + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABALVER=3.14.2.0 + STACK_UPGRADE="y" + RESOLVER=nightly-2026-03-10 + STACK_YAML=stack.yaml + DISABLE_SDIST_BUILD="y" + SDIST_OPTIONS="--ignore-check" + DISABLE_DIST_CHECKS="y" + DISABLE_DOCS="y" + DISABLE_BENCH="y" ignore_error: false - - name: 9.10.1-fusion-inspection - ghc_version: 9.10.1 + + - name: fusion runner: ubuntu-latest - build: cabal - cabal_version: 3.12.1.0 - disable_sdist_build: "y" - cabal_project: cabal.project - cabal_build_options: "--flag fusion-plugin --flag inspection" + command: cabal + ghc_version: 9.12.2 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project + CABAL_BUILD_OPTIONS="--flag limit-build-mem --flag fusion-plugin" + DISABLE_SDIST_BUILD="y" + DISABLE_DOCS="y" + DISABLE_BENCH="y" ignore_error: false - - name: 9.8.2-macos-stack - runner: macos-latest - build: stack - resolver: nightly-2024-09-26 - stack_yaml: stack.yaml - disable_docs: "y" - disable_sdist_build: "y" - disable_dist_checks: "y" - disable_test: "y" - disable_bench: "y" - #sdist_options: "--ignore-check" - stack_build_options: "-v" - cabal_version: 3.12.1.0 - ignore_error: true - # - name: 9.8.1-docspec - # ghc_version: 9.8.1 - # runner: ubuntu-latest - # build: cabal - # cabal_version: 3.10.1.0 - # cabal_project: cabal.project.doctest - # disable_test: "y" - # disable_bench: "y" - # disable_docs: "y" - # enable_docspec: "y" - # disable_sdist_build: "y" - # ignore_error: false - - name: 9.8.1-fusion-inspection - ghc_version: 9.8.1 + + # Note: use linux for warning build for convenient dev testing + - name: werror runner: ubuntu-latest - build: cabal - cabal_version: 3.12.1.0 - disable_sdist_build: "y" - cabal_project: cabal.project - cabal_build_options: "--flag fusion-plugin --flag inspection" + command: cabal + ghc_version: 9.10.3 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project.Werror + CABAL_BUILD_OPTIONS="--flag limit-build-mem" + DISABLE_SDIST_BUILD="y" + DISABLE_BENCH="y" ignore_error: false - - name: 9.6.3-macos - ghc_version: 9.6.3 - runner: macos-latest - build: cabal - cabal_version: 3.10.1.0 - disable_sdist_build: "y" - cabal_project: cabal.project - ignore_error: true - - name: 9.4.7-lstat-readir - ghc_version: 9.4.7 + + - name: fusion-inspection runner: ubuntu-latest - build: cabal - cabal_build_options: "--flag force-lstat-readdir" - cabal_version: 3.8.1.0 - disable_sdist_build: "y" - cabal_project: cabal.project + command: cabal + ghc_version: 9.10.3 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project + CABAL_BUILD_OPTIONS="--flag fusion-plugin --flag inspection" + DISABLE_SDIST_BUILD="y" + DISABLE_DOCS="y" ignore_error: false - - name: 9.2.8 - ghc_version: 9.2.8 - ghcup_ghc_options: "-u https://s3.ap-south-1.amazonaws.com/downloads.portal.composewell.com/ghc/ghc-9.2.8-x86_64-unknown-linux.tar.xz" + + - name: ci runner: ubuntu-latest - build: cabal - cabal_project: cabal.project - cabal_version: 3.6.2.0 - disable_sdist_build: "y" + command: cabal + ghc_version: 9.8.4 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project + DISABLE_SDIST_BUILD="y" + DISABLE_DOCS="y" + DISABLE_BENCH="y" ignore_error: false - - name: 9.0.2-streamly-sdist - ghc_version: 9.0.2 + + - name: streamly-sdist runner: ubuntu-latest - build: cabal - cabal_version: 3.6.2.0 - cabal_project: cabal.project.streamly + command: cabal + ghc_version: 9.6.3 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project.streamly ignore_error: true - - name: 9.0.2-streamly-core-sdist - ghc_version: 9.0.2 + + - name: lstat-readdir runner: ubuntu-latest - build: cabal - cabal_version: 3.6.2.0 - subdir: core + command: cabal + ghc_version: 9.4.7 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project + CABAL_BUILD_OPTIONS="--flag force-lstat-readdir" + DISABLE_SDIST_BUILD="y" + DISABLE_DOCS="y" + DISABLE_BENCH="y" ignore_error: false - - name: 8.10.7-noopt - ghc_version: 8.10.7 + + - name: ci runner: ubuntu-latest - build: cabal - cabal_version: 3.6.2.0 - cabal_project: cabal.project - disable_sdist_build: "y" - disable_docs: "y" - disable_dist_checks: "y" - cabal_build_options: "--flags \"-opt\"" + command: cabal + ghc_version: 9.2.8 + ghc_salt: perf-counter-1 + # WARNING! cannot use # comments inside pack_options. + # GHCUP_GHC_OPTIONS="-u https://s3.ap-south-1.amazonaws.com/downloads.portal.composewell.com/ghc/ghc-9.2.8-x86_64-unknown-linux.tar.xz" + pack_options: >- + GHCUP_GHC_OPTIONS="-u https://github.com/composewell/ghc/releases/download/ghc-9.2.8-perf-counters-1-rc1/ghc-9.2.8.20231130-x86_64-unknown-linux.tar.xz" + CABAL_PROJECT=cabal.project + DISABLE_SDIST_BUILD="y" + DISABLE_DOCS="y" + DISABLE_BENCH="y" ignore_error: false - # - name: 8.10.7-coverage - # ghc_version: 8.10.7 - # runner: ubuntu-latest - # coverage: "y" - # cabal_version: 3.6.2.0 - # ignore_error: false - - name: 8.8.4 - ghc_version: 8.8.4 + + - name: unoptimized runner: ubuntu-latest - build: cabal - cabal_version: 3.6.2.0 - cabal_project: cabal.project - disable_sdist_build: "y" - disable_docs: "y" + command: cabal + ghc_version: 8.10.7 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project + DISABLE_SDIST_BUILD="y" + DISABLE_DOCS="y" + DISABLE_BENCH="y" + DISABLE_DIST_CHECKS="y" + CABAL_BUILD_OPTIONS="--flags \"-opt\"" ignore_error: false - - name: 8.6.5-debug-unoptimized - ghc_version: 8.6.5 - runner: ubuntu-latest - build: cabal - cabal_version: 3.6.2.0 - cabal_project: cabal.project - cabal_build_options: "--flag debug --flag -opt" - disable_sdist_build: "y" - disable_docs: "y" + + - name: ci + runner: windows-latest + command: cabal + ghc_version: 9.10.3 + # WARNING! cannot use # comments inside pack_options. + pack_options: >- + CABAL_PROJECT=cabal.project + CABAL_BUILD_OPTIONS="--flag limit-build-mem" + DISABLE_SDIST_BUILD="y" ignore_error: false - # - name: hlint - # build: hlint - # runner: ubuntu-latest - # ignore_error: true + + #- name: ci + # runner: ubuntu-latest + # command: hlint + # # WARNING! cannot use # comments inside pack_options. + # pack_options: >- + # HLINT_VERSION=3.6.1 + # HLINT_OPTIONS="lint" + # HLINT_TARGETS="src" + # ignore_error: false + + # NOTE: need to expose other-modules in cabal to doctest those + #- name: docspec + # runner: ubuntu-latest + # command: cabal + # ghc_version: 9.12.2 + # # WARNING! cannot use # comments inside pack_options. + # pack_options: >- + # DISABLE_SDIST_BUILD="y" + # DISABLE_TEST="y" + # DISABLE_BENCH="y" + # DISABLE_DOCS="y" + # ENABLE_DOCSPEC="y" + # DOCSPEC_URL=https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20210111/cabal-docspec-0.0.0.20210111.xz + # DOCSPEC_OPTIONS="--timeout 60 --check-properties --property-variables xs" + # CABAL_PROJECT="cabal.project.doctest" + # ignore_error: false + + # - name: 8.10.7-coverage + # ghc_version: 8.10.7 + # runner: ubuntu-latest + # coverage: "y" + # cabal_version: 3.6.2.0 + # ignore_error: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + + # This should happen before cache restore. + - name: Remove ~/.ghcup symlink (non-Windows) + if: runner.os != 'Windows' + run: | + rm -f ~/.ghcup - - uses: actions/cache@v4 - name: Cache common directories + - name: Cache hackage package index (non-Windows) + uses: actions/cache@v4 + if: runner.os != 'Windows' + with: + path: | + ~/.cache/cabal/packages + # Bump the key version to clear the cache + key: cache-cabal-packages + + # See the "cabal path" output in the CI logs to tweak the cache locations + # ghc is big but cheap to install, if cache size is a concern we can avoid + # caching it. + - name: Cache ghcup and ghc (non-Windows) + uses: actions/cache@v4 + if: runner.os != 'Windows' with: path: | - ~/.local - ~/.cabal - ~/.stack ~/.ghcup + key: ${{ matrix.runner }}-${{ matrix.ghc_version }}.${{ matrix.ghc_salt}} + + # XXX If we want to invalidate the cache on resolver change we + # should use a separate cache for stack as it should be keyed on + # resolver as well. But that requires resolver as a matrix element + # and then copied to pack_options from there, needs some work. It + # should be fine as resolver minor version change can only increase + # the cache size. + - name: Cache build dependencies (non-Windows) + uses: actions/cache@v4 + if: runner.os != 'Windows' + with: + # cabal: ~/.local/bin, ~/.local/state/cabal + path: | + ~/.local/bin + ~/.local/state/cabal + ~/.stack # Bump the key version to clear the cache - key: ${{ runner.os }}-${{ matrix.ghc_version }}-cabal-v2 + key: ${{ matrix.runner }}-${{ matrix.command }}-${{ matrix.ghc_version }}-${{ matrix.name }} + + - name: Cache common directories (Windows) + uses: actions/cache@v4 + if: runner.os == 'Windows' + with: + path: | + ${{ env.APPDATA }}/local + C:/ghcup + C:/cabal + key: ${{ matrix.runner }}-${{ matrix.command }}-${{ matrix.ghc_version }}-${{ matrix.name }}-v1 - name: Download packcheck + # on windows-latest GitHub Actions defaults to PowerShell + shell: bash run: | if test ! -e "$PACKCHECK" then if test -z "$PACKCHECK_GITHUB_COMMIT" then - die "PACKCHECK_GITHUB_COMMIT is not specified." + die "PACKCHECK_GITHUB_COMMIT env var is not specified." fi PACKCHECK_URL=${PACKCHECK_GITHUB_URL}/${PACKCHECK_GITHUB_COMMIT}/packcheck.sh curl --fail -sL -o "$PACKCHECK" $PACKCHECK_URL || exit 1 @@ -278,30 +414,64 @@ jobs: chmod +x $PACKCHECK fi - - name: Run tests + - name: Run packcheck + # on windows-latest GitHub Actions defaults to PowerShell + shell: bash run: | - if test -n "$COVERAGE" + #if test -n "$COVERAGE" + #then + # # Run tests with coverage + # cabal update + # # Build hpc-coveralls if needed + # sudo apt-get install -y libcurl4-gnutls-dev + # export PATH=$HOME/.cabal/bin:$PATH + # which hpc-coveralls 2>/dev/null || cabal install --project-file cabal.project.hpc-coveralls hpc-coveralls + # # Run tests and upload results to coveralls.io + # bin/test.sh --coverage --raw + # # XXX Uncomment this and fix it properly later + # # hpc-coveralls --repo-token="$COVERALLS_TOKEN" --coverage-mode=StrictlyFullLines + #fi + + if test -n "$SUBDIR" then - # Run tests with coverage - cabal update - # Build hpc-coveralls if needed - sudo apt-get install -y libcurl4-gnutls-dev - export PATH=$HOME/.cabal/bin:$PATH - which hpc-coveralls 2>/dev/null || cabal install --project-file cabal.project.hpc-coveralls hpc-coveralls - # Run tests and upload results to coveralls.io - bin/test.sh --coverage --raw - # XXX Uncomment this and fix it properly later - # hpc-coveralls --repo-token="$COVERALLS_TOKEN" --coverage-mode=StrictlyFullLines - else - # /usr/local/opt/curl/bin for macOS - export PATH=$HOME/.local/bin:$HOME/.ghcup/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/opt/curl/bin - if test -n "$SUBDIR" - then - mv "$PACKCHECK" "$SUBDIR/packcheck.sh" - # This is required as dist-newstyle will be created on the top level - # directory as it is considered the working dir. - rm cabal.project - cd "$SUBDIR" - fi - bash -c "$PACKCHECK $BUILD" + mv "$PACKCHECK" "$SUBDIR/packcheck.sh" + # This is required otherwise dist-newstyle will be created in + # the top level directory as it is considered the working dir. + rm cabal.project + cd "$SUBDIR" fi + # Commands like mount, sysctl for info require sbin + PATH_VAR=/bin:/usr/bin:/sbin:/usr/sbin + case "$(uname)" in + Linux) + # On Linux it defaults to /usr/local, during cache restore + # tar is unable to change permissions and restore fails. + export GHCUP_INSTALL_BASE_PREFIX=$HOME + ;; + CYGWIN*|MINGW*|MSYS*) + PATH_VAR="$PATH_VAR:/c/Program Files/7-Zip:/mingw64/bin" + ;; + esac + # Use "bash -c" instead of invoking directly to preserve quoted + # arguments in PACKCHECK_COMMAND e.g. DOCSPEC_OPTIONS="--timeout 60". + # Direct invocation would word-split on spaces inside quoted values. + echo "$PACKCHECK $PACKCHECK_COMMAND PATH=\"$PATH_VAR\"" + bash -c "$PACKCHECK $PACKCHECK_COMMAND PATH=\"$PATH_VAR\"" + + - name: Check cache locations + if: runner.os != 'Windows' + run: | + # We want to see if it is a symlink; e.g. on github ~/.ghcup is a + # pre-existing symlink to /usr/local. + list="$HOME/.local/bin $HOME/.local/state/cabal $HOME/.ghcup $HOME/.stack" + for dir in $list; do + # macOS does not have --no-dereference option + if [ -L "$dir" ]; then + echo "$dir is a symlink -> $(readlink $dir)" + else + du -sh "$dir" 2>/dev/null || echo "$dir missing" + fi + done + echo + #ls -ld $list 2>/dev/null || true + ls -al $list 2>/dev/null || true diff --git a/appveyor.yml b/appveyor.yml index 395dd48054..c87f559c9a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,7 +1,8 @@ -# packcheck-0.4.2 +# packcheck-0.7.1 # You can use any of the options supported by packcheck as environment -# variables here. See https://github.com/harendra-kumar/packcheck for all +# variables here. See https://github.com/composewell/packcheck for all # options and their explanation. +# branches: only: - master @@ -14,45 +15,34 @@ environment: # ------------------------------------------------------------------------ # Common options # ------------------------------------------------------------------------ - # GHC 9.2.7 onwards redundant constraint warnings are incompatible with - # older versions - GHC_OPTIONS: "-Werror" CABAL_REINIT_CONFIG: "y" LC_ALL: "C.UTF-8" # ------------------------------------------------------------------------ - # What to build + # How to build # ------------------------------------------------------------------------ - # DISABLE_TEST: "y" - # DISABLE_BENCH: "y" - # DISABLE_DOCS: "y" - DISABLE_SDIST_BUILD: "y" - DISABLE_DIST_CHECKS: "y" - ENABLE_INSTALL: "y" + # + GHCUP_VERSION: "0.1.50.2" + GHCVER: "9.10.3" + #CABALVER: "3.10.3.0" # ------------------------------------------------------------------------ - # stack options + # What to build # ------------------------------------------------------------------------ - # Note requiring a specific version of stack using STACKVER may fail due to - # github API limit while checking and upgrading/downgrading to the specific - # version. - # STACKVER: "1.6.5" - STACK_UPGRADE: "y" - # RESOLVER: "lts-18.27" - STACK_ROOT: "c:\\sr" - STACK_BUILD_OPTIONS: "--flag streamly-benchmarks:-opt" - STACK_YAML: "stack.yaml" + # DISABLE_TEST: "y" + DISABLE_BENCH: "y" + DISABLE_DOCS: "y" + DISABLE_DIST_CHECKS: "y" + DISABLE_SDIST_BUILD: "y" + # Note: these require the "diff" utility. + # DISABLE_SDIST_GIT_CHECK: "y" + # DISABLE_SDIST_PROJECT_CHECK: "y" # ------------------------------------------------------------------------ # cabal options # ------------------------------------------------------------------------ CABAL_CHECK_RELAX: "y" - - # ------------------------------------------------------------------------ - # Where to find the required tools - # ------------------------------------------------------------------------ - PATH: "%PATH%;%APPDATA%\\local\\bin" - LOCAL_BIN: "%APPDATA%\\local\\bin" + CABAL_PROJECT: "cabal.project" # ------------------------------------------------------------------------ # Location of packcheck.sh (the shell script invoked to perform CI tests ). @@ -65,31 +55,33 @@ environment: # If you have not committed packcheck.sh in your repo at PACKCHECK_LOCAL_PATH # then it is automatically pulled from this URL. PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck" - PACKCHECK_GITHUB_COMMIT: "101c73b53473ddfb763d65058b80123991cfeb4f" + PACKCHECK_GITHUB_COMMIT: "dd6862df527f317fd4987afa523fba3f4fde7e19" # Override the temp directory to avoid sed escaping issues # See https://github.com/haskell/cabal/issues/5386 TMP: "c:\\tmp" +# Bump the -> version to clear the cache +# packcheck uses "%APPDATA%\\local" to install tools like hlint etc. +# cabal may use "%APPDATA%\\cabal" or "c:\\cabal" +# ghcup may use "%APPDATA%\\ghcup" or "c:\\ghcup" cache: - - "%STACK_ROOT%" - - "%LOCAL_BIN%" + - "%APPDATA%\\local\\bin -> v1" - "%APPDATA%\\cabal" - - "%APPDATA%\\ghc" -# - "%LOCALAPPDATA%\\Programs\\stack" + - "%LOCALAPPDATA%\\cabal" + - "C:\\ghcup" + - "C:\\cabal" +# Folder where the repository is cloned. clone_folder: "c:\\pkg" build: off before_test: -- if not exist %PACKCHECK_LOCAL_PATH% curl -sSkL -o%PACKCHECK_LOCAL_PATH% %PACKCHECK_GITHUB_URL%/%PACKCHECK_GITHUB_COMMIT%/packcheck.sh -- if not exist %LOCAL_BIN% mkdir %LOCAL_BIN% -- where stack.exe || curl -sSkL -ostack.zip http://www.stackage.org/stack/windows-x86_64 && 7z x stack.zip stack.exe && move stack.exe %LOCAL_BIN% -- if defined STACKVER (stack upgrade --binary-only --binary-version %STACKVER%) else (stack upgrade --binary-only || ver > nul) -- stack --version +- if not exist %PACKCHECK_LOCAL_PATH% curl --fail -sSL -o%PACKCHECK_LOCAL_PATH% %PACKCHECK_GITHUB_URL%/%PACKCHECK_GITHUB_COMMIT%/packcheck.sh test_script: -- stack setup > nul - for /f "usebackq tokens=*" %%i in (`where 7z.exe`) do set PATH7Z=%%i\.. - for /f "usebackq tokens=*" %%i in (`where git.exe`) do set PATHGIT=%%i\.. -- chcp 65001 && stack exec bash -- -c "chmod +x %PACKCHECK_LOCAL_PATH%; %PACKCHECK_LOCAL_PATH% stack PATH=/usr/bin:\"%PATH7Z%\":\"%PATHGIT%\"" +- for /f "usebackq tokens=*" %%i in (`where curl.exe`) do set PATHCURL=%%i\.. +- chcp 65001 +- bash %PACKCHECK_LOCAL_PATH% cabal PATH="/usr/bin:%PATH7Z%:%PATHGIT%:%PATHCURL%" From 47f9e0fa2925898bfc2a1698682d90e7e95da2f5 Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 14:17:41 +0530 Subject: [PATCH 3/9] Disable bench and docs in all benchmarks --- .cirrus.yml | 4 ++-- .github/workflows/haskell.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 6dfe6d7f3c..1e6d7345ed 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -16,8 +16,8 @@ task: # What to build # ------------------------------------------------------------------------ # DISABLE_TEST: "y" - # DISABLE_BENCH: "y" - # DISABLE_DOCS: "y" + DISABLE_BENCH: "y" + DISABLE_DOCS: "y" DISABLE_SDIST_BUILD: "y" # DISABLE_SDIST_GIT_CHECK: "y" DISABLE_DIST_CHECKS: "y" diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml index 02778a5b7e..e0c8e336ca 100644 --- a/.github/workflows/haskell.yml +++ b/.github/workflows/haskell.yml @@ -38,8 +38,8 @@ jobs: # What to build # ------------------------------------------------------------------------ # DISABLE_TEST: "y" - # DISABLE_BENCH: "y" - # DISABLE_DOCS: "y" + DISABLE_BENCH: "y" + DISABLE_DOCS: "y" # DISABLE_SDIST_BUILD: "y" # DISABLE_SDIST_GIT_CHECK: "y" # DISABLE_DIST_CHECKS: "y" From ca3bda407821284a9f49a94faec359e04cb40cf7 Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 14:20:17 +0530 Subject: [PATCH 4/9] Update windows GHC to 9.14, 9.12 versions --- .github/workflows/haskell.yml | 2 +- appveyor.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml index e0c8e336ca..6337688ec6 100644 --- a/.github/workflows/haskell.yml +++ b/.github/workflows/haskell.yml @@ -297,7 +297,7 @@ jobs: - name: ci runner: windows-latest command: cabal - ghc_version: 9.10.3 + ghc_version: 9.12.4 # WARNING! cannot use # comments inside pack_options. pack_options: >- CABAL_PROJECT=cabal.project diff --git a/appveyor.yml b/appveyor.yml index c87f559c9a..faf7793438 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -23,7 +23,7 @@ environment: # ------------------------------------------------------------------------ # GHCUP_VERSION: "0.1.50.2" - GHCVER: "9.10.3" + GHCVER: "9.14.1" #CABALVER: "3.10.3.0" # ------------------------------------------------------------------------ From 0bafd50b8757b04f395400ba0a57b44b62d46c33 Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 15:08:38 +0530 Subject: [PATCH 5/9] Update bounds on benchmarks --- benchmark/streamly-benchmarks.cabal | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/benchmark/streamly-benchmarks.cabal b/benchmark/streamly-benchmarks.cabal index 5b67b444c2..bbc391ddab 100644 --- a/benchmark/streamly-benchmarks.cabal +++ b/benchmark/streamly-benchmarks.cabal @@ -179,22 +179,22 @@ common bench-depends -- Core libraries shipped with ghc, the min and max -- constraints of these libraries should match with -- the GHC versions we support - base >= 4.9 && < 4.22 + base >= 4.9 && < 4.23 , deepseq >= 1.4.1 && < 1.6 - , mtl >= 2.2 && < 2.3.2 + , mtl >= 2.2 && < 2.4 -- other libraries , exceptions >= 0.8 && < 0.11 , random >= 1.0 && < 2.0 , transformers >= 0.4 && < 0.7 - , containers >= 0.5 && < 0.8 + , containers >= 0.5 && < 0.9 , hashable >= 1.3 && < 1.6 , unordered-containers >= 0.2 && < 0.3 , process >= 1.4 && < 1.7 , directory >= 1.2.2 && < 1.4 , filepath >= 1.4.1 && < 1.6 , ghc-prim >= 0.4 && < 0.14 - , tasty-bench >= 0.3 && < 0.5 + , tasty-bench >= 0.3 && < 0.6 , tasty >= 1.4.1 && < 1.6 , streamly-core @@ -207,8 +207,8 @@ common bench-depends build-depends: fusion-plugin >= 0.2 && < 0.3 if flag(inspection) - build-depends: template-haskell >= 2.14 && < 2.24 - , inspection-testing >= 0.4 && < 0.6 + build-depends: template-haskell >= 2.14 && < 2.25 + , inspection-testing >= 0.4 && < 0.7 -- Array uses a Storable constraint in dev build making several inspection -- tests fail if flag(dev) && flag(inspection) From d3a5561e94390116943cff186c9507c7d141dfd9 Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 15:12:40 +0530 Subject: [PATCH 6/9] Update streamly-tests version bounds --- test/streamly-tests.cabal | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/streamly-tests.cabal b/test/streamly-tests.cabal index 7dbe887a7f..6fed2f57e8 100644 --- a/test/streamly-tests.cabal +++ b/test/streamly-tests.cabal @@ -150,21 +150,21 @@ common optimization-options common test-dependencies build-depends: streamly-core - , base >= 4.9 && < 4.22 - , containers >= 0.5 && < 0.8 + , base >= 4.9 && < 4.23 + , containers >= 0.5 && < 0.9 , exceptions >= 0.8 && < 0.11 , ghc , hspec >= 2.0 && < 2.12 - , mtl >= 2.2 && < 2.3.2 - , random >= 1.0.0 && < 1.3 + , mtl >= 2.2 && < 2.4 + , random >= 1.0.0 && < 1.4 , transformers >= 0.4 && < 0.7 - , QuickCheck >= 2.13 && < 2.16 - , directory >= 1.2.2 && < 1.4 + , QuickCheck >= 2.13 && < 2.19 + , directory >= 1.2.2 && < 1.5 , filepath >= 1.4.1 && < 1.6 , temporary >= 1.3 && < 1.4 , network >= 3.1 && < 3.3 , scientific >= 0.0 && < 0.4 - , template-haskell >= 2.12 && < 2.24 + , template-haskell >= 2.12 && < 2.25 if !flag(use-streamly-core) build-depends: streamly From eef3c27c80aa0bdfd086a21702ef29f7f6242b2f Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 15:14:14 +0530 Subject: [PATCH 7/9] Update lts and extra-deps in stack.yaml --- stack.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/stack.yaml b/stack.yaml index 20d29fb711..bf416d68cc 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-23.27 +resolver: nightly-2026-03-10 packages: - '.' - './benchmark' @@ -6,10 +6,9 @@ packages: - './core' - './bench-test-lib' +# network 3.2.8 is broken extra-deps: - #- tasty-bench-0.3.1 - - lockfree-queue-0.2.4 - - unicode-data-0.6.0 + - network-3.2.7.0 #allow-newer: true rebuild-ghc-options: true From 8de2f2cc95db1e4fe6d8c427d45160a594ed6430 Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 15:42:15 +0530 Subject: [PATCH 8/9] Add the 0.11 release branch to appveyor ci --- appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/appveyor.yml b/appveyor.yml index faf7793438..13bc0a0667 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,6 +6,7 @@ branches: only: - master + - streamly-0.11.0-release environment: # ------------------------------------------------------------------------ From 4ee9a9ba3cd96d47195c9b1a96095c0f165c483e Mon Sep 17 00:00:00 2001 From: Harendra Kumar Date: Mon, 6 Apr 2026 15:50:26 +0530 Subject: [PATCH 9/9] Update streamly-core tag for building streamly-sdist --- cabal.project.streamly | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cabal.project.streamly b/cabal.project.streamly index ee7ecea4db..0257efa78f 100644 --- a/cabal.project.streamly +++ b/cabal.project.streamly @@ -6,5 +6,5 @@ packages: streamly.cabal source-repository-package type: git location: https://github.com/composewell/streamly - tag: master + tag: 8de2f2cc95db1e4fe6d8c427d45160a594ed6430 subdir: core