Update streamly 0.11 #65
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # packcheck-0.7.1 | |
| name: packcheck | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| build: | |
| name: >- | |
| ${{ matrix.runner }} | |
| ${{ matrix.command }} | |
| ${{ matrix.ghc_version }} | |
| ${{ matrix.name }} | |
| env: | |
| CABAL_REINIT_CONFIG: y | |
| LC_ALL: C.UTF-8 | |
| GHCUP_VERSION: 0.1.50.2 | |
| GHCVER: ${{ matrix.ghc_version }} | |
| PACKCHECK: "./packcheck.sh" | |
| PACKCHECK_GITHUB_URL: "https://raw.githubusercontent.com/composewell/packcheck" | |
| PACKCHECK_GITHUB_COMMIT: "3d3c94bf48f18a99271d509c1f1702d15824b1f0" | |
| PACKCHECK_COMMAND: ${{ matrix.command }} ${{ matrix.pack_options }} | |
| SUBDIR: ${{ matrix.subdir }} | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: ci | |
| runner: ubuntu-latest | |
| command: cabal | |
| ghc_version: 9.14.1 | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.user | |
| CABAL_BUILD_OPTIONS="-f drinkery -f conduit -f pipes -f machines -f streaming" | |
| - name: bench-runner | |
| runner: ubuntu-latest | |
| command: cabal | |
| ghc_version: 9.12.1 | |
| subdir: bench-runner | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.user | |
| CABAL_CHECK_RELAX=y | |
| - name: ci | |
| runner: ubuntu-latest | |
| command: cabal | |
| ghc_version: 9.12.1 | |
| # Removed "-f pipes" as the build was failing with heap overflow | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.user | |
| CABAL_BUILD_OPTIONS="-f drinkery -f conduit -f machines -f streaming" | |
| - name: Werror | |
| runner: ubuntu-latest | |
| command: cabal | |
| ghc_version: 9.10.3 | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.Werror | |
| CABAL_BUILD_OPTIONS="-f drinkery -f conduit -f pipes -f machines -f streaming" | |
| - name: ci | |
| runner: ubuntu-latest | |
| command: cabal | |
| ghc_version: 9.8.1 | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.user | |
| CABAL_BUILD_OPTIONS="-f drinkery -f conduit -f pipes -f machines -f streaming" | |
| - name: ci | |
| runner: macos-latest | |
| command: cabal | |
| ghc_version: 9.6.3 | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.user | |
| CABAL_BUILD_OPTIONS="-f drinkery -f conduit -f pipes -f machines -f streaming" | |
| - name: no-fusion-plugin | |
| runner: ubuntu-latest | |
| command: cabal | |
| ghc_version: 9.4.4 | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.user | |
| CABAL_BUILD_OPTIONS="-f drinkery -f conduit -f pipes -f machines -f streaming -f no-fusion-plugin" | |
| - name: ci | |
| runner: ubuntu-latest | |
| command: cabal | |
| ghc_version: 9.2.8 | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.user | |
| CABAL_BUILD_OPTIONS="-f drinkery -f conduit -f pipes -f machines -f streaming" | |
| # --- Legacy GHC Series (Docs Disabled) --- | |
| - name: ci | |
| runner: ubuntu-latest | |
| command: cabal | |
| ghc_version: 8.10.7 | |
| pack_options: >- | |
| CABAL_PROJECT=cabal.project.user | |
| DISABLE_DOCS=y | |
| CABAL_BUILD_OPTIONS="-f drinkery -f conduit -f pipes -f machines -f streaming" | |
| # --- Tooling Jobs --- | |
| - name: ci | |
| runner: ubuntu-latest | |
| command: hlint | |
| pack_options: >- | |
| HLINT_VERSION=3.6.1 | |
| HLINT_OPTIONS="lint" | |
| HLINT_TARGETS="lib Benchmarks" | |
| #----------------------------------------------------------------------------- | |
| # Usually you do need to change anything below, this is generic code for | |
| # caching and running packcheck on Linux/Mac/Windows. | |
| #----------------------------------------------------------------------------- | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # This should happen before cache restore. | |
| - name: Remove ~/.ghcup symlink (non-Windows) | |
| if: runner.os != 'Windows' | |
| run: | | |
| rm -f ~/.ghcup | |
| - 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: | | |
| ~/.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 | |
| # ~/.cache/cabal/packages can be cached, but will increase the | |
| # cache size. But can save the "cabal update" time. | |
| path: | | |
| ~/.local/bin | |
| ~/.local/state/cabal | |
| ~/.stack | |
| # Bump the key version to clear the cache | |
| key: ${{ matrix.runner }}-${{ matrix.command }}-${{ matrix.ghc_version }}-${{ matrix.name }}-v1 | |
| - 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 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 | |
| chmod +x $PACKCHECK | |
| elif test ! -x "$PACKCHECK" | |
| then | |
| chmod +x $PACKCHECK | |
| fi | |
| - name: Run packcheck | |
| # on windows-latest GitHub Actions defaults to PowerShell | |
| shell: bash | |
| run: | | |
| if test -n "$SUBDIR" | |
| then | |
| 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 -f 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 |