diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 335a8e6..862fa02 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -8,9 +8,9 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci # -# version: 0.19.20251118 +# version: 0.19.20260104 # -# REGENDATA ("0.19.20251118",["github","cabal.project","--config=cabal.haskell-ci"]) +# REGENDATA ("0.19.20260104",["github","cabal.project","--config=cabal.haskell-ci"]) # name: Haskell-CI on: @@ -41,10 +41,10 @@ jobs: strategy: matrix: include: - - compiler: ghc-9.14.0.20251104 + - compiler: ghc-9.14.1 compilerKind: ghc - compilerVersion: 9.14.0.20251104 - setup-method: ghcup-prerelease + compilerVersion: 9.14.1 + setup-method: ghcup allow-failure: false - compiler: ghc-9.12.2 compilerKind: ghc @@ -105,21 +105,6 @@ jobs: HCKIND: ${{ matrix.compilerKind }} HCNAME: ${{ matrix.compiler }} HCVER: ${{ matrix.compilerVersion }} - - name: Install GHC (GHCup prerelease) - if: matrix.setup-method == 'ghcup-prerelease' - run: | - "$HOME/.ghcup/bin/ghcup" config add-release-channel prereleases - "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false) - HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER") - HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#') - HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#') - echo "HC=$HC" >> "$GITHUB_ENV" - echo "HCPKG=$HCPKG" >> "$GITHUB_ENV" - echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV" - env: - HCKIND: ${{ matrix.compilerKind }} - HCNAME: ${{ matrix.compiler }} - HCVER: ${{ matrix.compilerVersion }} - name: Set PATH and environment variables run: | echo "$HOME/.cabal/bin" >> $GITHUB_PATH @@ -130,7 +115,7 @@ jobs: echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV" echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV" echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV" - if [ $((HCNUMVER >= 91400)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi + echo "HEADHACKAGE=false" >> "$GITHUB_ENV" echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV" env: HCKIND: ${{ matrix.compilerKind }} @@ -158,18 +143,6 @@ jobs: repository hackage.haskell.org url: http://hackage.haskell.org/ EOF - if $HEADHACKAGE; then - cat >> $CABAL_CONFIG <> $CABAL_CONFIG <> cabal.project echo "packages: $GITHUB_WORKSPACE/source/consumers" >> cabal.project + echo "packages: $GITHUB_WORKSPACE/source/consumers-metrics-prometheus" >> cabal.project cat cabal.project - name: sdist run: | @@ -212,33 +185,37 @@ jobs: find sdist -maxdepth 1 -type f -name '*.tar.gz' -exec tar -C $GITHUB_WORKSPACE/unpacked -xzvf {} \; - name: generate cabal.project run: | - PKGDIR_consumers_metrics_prometheus="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/consumers-metrics-prometheus-[0-9.]*')" - echo "PKGDIR_consumers_metrics_prometheus=${PKGDIR_consumers_metrics_prometheus}" >> "$GITHUB_ENV" PKGDIR_consumers="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/consumers-[0-9.]*')" echo "PKGDIR_consumers=${PKGDIR_consumers}" >> "$GITHUB_ENV" + PKGDIR_consumers_metrics_prometheus="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/consumers-metrics-prometheus-[0-9.]*')" + echo "PKGDIR_consumers_metrics_prometheus=${PKGDIR_consumers_metrics_prometheus}" >> "$GITHUB_ENV" rm -f cabal.project cabal.project.local touch cabal.project touch cabal.project.local - echo "packages: ${PKGDIR_consumers_metrics_prometheus}" >> cabal.project echo "packages: ${PKGDIR_consumers}" >> cabal.project - echo "package consumers-metrics-prometheus" >> cabal.project - echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project + echo "packages: ${PKGDIR_consumers_metrics_prometheus}" >> cabal.project echo "package consumers" >> cabal.project echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project - if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo "package consumers-metrics-prometheus" >> cabal.project ; fi - if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi + echo "package consumers-metrics-prometheus" >> cabal.project + echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo "package consumers" >> cabal.project ; fi if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi - echo "package consumers-metrics-prometheus" >> cabal.project - echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project + if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo "package consumers-metrics-prometheus" >> cabal.project ; fi + if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi echo "package consumers" >> cabal.project echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project + echo "package consumers-metrics-prometheus" >> cabal.project + echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project cat >> cabal.project <> cabal.project - fi - $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(consumers|consumers-metrics-prometheus)$/; }' >> cabal.project.local cat cabal.project cat cabal.project.local - name: dump install plan @@ -266,10 +243,10 @@ jobs: $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct - name: cabal check run: | - cd ${PKGDIR_consumers_metrics_prometheus} || false - ${CABAL} -vnormal check cd ${PKGDIR_consumers} || false ${CABAL} -vnormal check + cd ${PKGDIR_consumers_metrics_prometheus} || false + ${CABAL} -vnormal check - name: haddock run: | $CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all diff --git a/cabal.haskell-ci b/cabal.haskell-ci index 2738278..4dada4a 100644 --- a/cabal.haskell-ci +++ b/cabal.haskell-ci @@ -2,3 +2,4 @@ branches: master doctest: False tests: True postgresql: True +installed: -all diff --git a/cabal.project b/cabal.project index f44a24c..a63b198 100644 --- a/cabal.project +++ b/cabal.project @@ -1 +1,14 @@ packages: */*.cabal + +-- for prometheus-client +constraints: data-sketches < 0.4 + +-- GHC 9.14.1 +allow-newer: + , *:base + , *:template-haskell + , aeson:containers + , aeson:indexed-traversable + , aeson:semialign + , aeson:time + , indexed-traversable:containers