warp: expose open connection count via getOpenConnectionCount #556
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
| name: Tests | |
| on: | |
| push: | |
| branches: [ 'master', 'ci' ] | |
| pull_request: | |
| branches: [ 'master' ] | |
| jobs: | |
| stack: | |
| name: Stack | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| STACK_PATH_GLOBAL_WINDOWS: "C:\\sr" | |
| STACK_PATH_GLOBAL_UNIX: "~/.stack" | |
| STACK_PATH_LOCAL: ".stack-work" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ["ubuntu-latest", "macos-latest", "windows-latest"] | |
| stack: ["latest"] | |
| resolver: | |
| - "nightly" # 9.12 | |
| - "lts-24" # 9.10 | |
| - "lts-23" # 9.8 | |
| - "lts-22" # 9.6 | |
| - "lts-21" # 9.4 | |
| - "lts-20" # 9.2 | |
| steps: | |
| - name: "Set ENV vars per LTS" | |
| id: env-vars | |
| shell: bash | |
| run: | | |
| STACKYAML="stack.yaml" | |
| GHC_VERSION="9.12" | |
| case "${{ matrix.resolver }}" in | |
| "nightly") | |
| STACKYAML="stack-nightly.yaml" ;; | |
| "lts-24") | |
| GHC_VERSION="9.10" ;; | |
| "lts-23") | |
| GHC_VERSION="9.8" ;; | |
| "lts-22") | |
| GHC_VERSION="9.6" | |
| STACKYAML="stack-lts-22.yaml" ;; | |
| "lts-21") | |
| GHC_VERSION="9.4" | |
| STACKYAML="stack-lts-21.yaml" ;; | |
| "lts-20") | |
| GHC_VERSION="9.2" | |
| STACKYAML="stack-lts-20.yaml" ;; | |
| *) | |
| ;; | |
| esac | |
| echo "STACKYAML=$STACKYAML" >> $GITHUB_ENV | |
| echo "GHC_VERSION=$GHC_VERSION" >> $GITHUB_ENV | |
| - name: Clone project | |
| uses: actions/checkout@v4 | |
| # We need separate caching steps, because of path names (Windows vs. other) | |
| - name: Cache dependencies (Windows) | |
| if: ${{ matrix.os == 'windows-latest' }} | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ${{ env.STACK_PATH_GLOBAL_WINDOWS }} | |
| key: ${{ runner.os }}-${{ matrix.resolver }}-${{ hashFiles(env.STACKYAML) }} | |
| restore-keys: | | |
| ${{ runner.os }}-${{ matrix.resolver }}- | |
| - name: Cache dependencies (Linux / MacOS) | |
| if: ${{ matrix.os != 'windows-latest' }} | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ${{ env.STACK_PATH_GLOBAL_UNIX }} | |
| key: ${{ runner.os }}-${{ matrix.resolver }}-${{ hashFiles(env.STACKYAML) }} | |
| restore-keys: | | |
| ${{ runner.os }}-${{ matrix.resolver }}- | |
| # Let's also try caching the build artifacts, so that rebuilds might go faster as well. | |
| - name: Cache local files | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ${{ env.STACK_PATH_LOCAL }} | |
| key: stack-work-${{ runner.os }}-${{ matrix.resolver }}-${{ hashFiles(env.STACKYAML) }}-${{ hashFiles('**/*.hs') }} | |
| restore-keys: | | |
| stack-work-${{ runner.os }}-${{ matrix.resolver }}-${{ hashFiles(env.STACKYAML) }}- | |
| stack-work-${{ runner.os }}-${{ matrix.resolver }}- | |
| - uses: haskell-actions/setup@v2 | |
| name: Setup Haskell Stack | |
| with: | |
| ghc-version: "${{ env.GHC_VERSION }}" | |
| stack-version: "${{ matrix.stack }}" | |
| enable-stack: true | |
| - name: Build and run tests | |
| shell: bash | |
| run: | | |
| set -ex | |
| EXTRA="" | |
| BENCH="--bench" | |
| if [[ ${{ matrix.os }} = "windows-latest" ]]; then | |
| EXTRA="--no-run-tests" | |
| elif [[ ${{ matrix.os }} = "macos-latest" ]]; then | |
| BENCH="" | |
| fi | |
| stack test \ | |
| --system-ghc \ | |
| --no-terminal \ | |
| --resolver ${{ matrix.resolver }} \ | |
| --haddock --no-haddock-deps \ | |
| $BENCH --no-run-benchmarks \ | |
| $EXTRA \ | |
| --stack-yaml ${{ env.STACKYAML }} |