diff --git a/.github/workflows/dependabot-auto-approve.yml b/.github/workflows/dependabot-auto-approve.yml deleted file mode 100644 index 6e7e31f8..00000000 --- a/.github/workflows/dependabot-auto-approve.yml +++ /dev/null @@ -1,22 +0,0 @@ -# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#approve-a-pull-request -name: Dependabot auto-approve -on: pull_request - -permissions: - pull-requests: write - -jobs: - dependabot: - runs-on: ubuntu-latest - if: github.actor == 'dependabot[bot]' - steps: - - name: Dependabot metadata - id: metadata - uses: dependabot/fetch-metadata@v2 - with: - github-token: "${{ secrets.GITHUB_TOKEN }}" - - name: Approve a PR - run: gh pr review --approve "$PR_URL" - env: - PR_URL: ${{github.event.pull_request.html_url}} - GH_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index abc97cb0..ecc1c91d 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.20250330 +# version: 0.19.20250506 # -# REGENDATA ("0.19.20250330",["github","hackage-server.cabal"]) +# REGENDATA ("0.19.20250506",["github","hackage-server.cabal"]) # name: Haskell-CI on: @@ -32,44 +32,24 @@ jobs: strategy: matrix: include: - - compiler: ghc-9.10.1 + - compiler: ghc-9.12.2 compilerKind: ghc - compilerVersion: 9.10.1 + compilerVersion: 9.12.2 setup-method: ghcup allow-failure: false - - compiler: ghc-9.8.2 + - compiler: ghc-9.10.2 compilerKind: ghc - compilerVersion: 9.8.2 + compilerVersion: 9.10.2 setup-method: ghcup allow-failure: false - - compiler: ghc-9.6.5 + - compiler: ghc-9.8.4 compilerKind: ghc - compilerVersion: 9.6.5 + compilerVersion: 9.8.4 setup-method: ghcup allow-failure: false - - compiler: ghc-9.4.8 + - compiler: ghc-9.6.7 compilerKind: ghc - compilerVersion: 9.4.8 - setup-method: ghcup - allow-failure: false - - compiler: ghc-9.2.8 - compilerKind: ghc - compilerVersion: 9.2.8 - setup-method: ghcup - allow-failure: false - - compiler: ghc-9.0.2 - compilerKind: ghc - compilerVersion: 9.0.2 - setup-method: ghcup - allow-failure: false - - compiler: ghc-8.10.7 - compilerKind: ghc - compilerVersion: 8.10.7 - setup-method: ghcup - allow-failure: false - - compiler: ghc-8.8.4 - compilerKind: ghc - compilerVersion: 8.8.4 + compilerVersion: 9.6.7 setup-method: ghcup allow-failure: false fail-fast: false @@ -86,8 +66,8 @@ jobs: chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | - "$HOME/.ghcup/bin/ghcup" install cabal 3.14.1.1-p1 || (cat "$HOME"/.ghcup/logs/*.* && false) - echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.1.1-p1 -vnormal+nowrap" >> "$GITHUB_ENV" + "$HOME/.ghcup/bin/ghcup" install cabal 3.14.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false) + echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.2.0 -vnormal+nowrap" >> "$GITHUB_ENV" - name: Install GHC (GHCup) if: matrix.setup-method == 'ghcup' run: | diff --git a/.github/workflows/nix-flake.yml b/.github/workflows/nix-flake.yml deleted file mode 100644 index 20562100..00000000 --- a/.github/workflows/nix-flake.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: "Test Nix Flake" -on: - push: - branches: - - master - pull_request: - branches: - - master -jobs: - nix: - strategy: - fail-fast: true - matrix: - os: - - ubuntu-latest - - ubuntu-24.04-arm - - macos-latest - name: Nix on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: cachix/install-nix-action@v30 - with: - extra_nix_config: | - trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hackage-server.cachix.org-1:iw0iRh6+gsFIrxROFaAt5gKNgIHejKjIfyRdbpPYevY= - substituters = https://cache.nixos.org/ https://hackage-server.cachix.org/ - - uses: cachix/cachix-action@v15 - with: - # https://nix.dev/tutorials/continuous-integration-github-actions#setting-up-github-actions - name: hackage-server - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - - name: "Check `nix develop` shell" - run: nix develop --check - - - name: "Check `nix develop` shell can run command" - run: nix develop --command "echo" - - - run: nix build - - - continue-on-error: false - run: nix flake check diff --git a/.github/workflows/update-flake-lock.yml b/.github/workflows/update-flake-lock.yml deleted file mode 100644 index 320ffdab..00000000 --- a/.github/workflows/update-flake-lock.yml +++ /dev/null @@ -1,22 +0,0 @@ -# https://github.com/DeterminateSystems/update-flake-lock -name: update-flake-lock -on: - workflow_dispatch: # allows manual triggering - schedule: - - cron: '0 0 1 * *' # runs on first day of the month - -jobs: - lockfile: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Install Nix - uses: DeterminateSystems/nix-installer-action@main - - name: Update flake.lock - uses: DeterminateSystems/update-flake-lock@main - with: - pr-title: "Update flake.lock" # Title of PR to be created - pr-labels: | # Labels to be set on the PR - dependencies - automated diff --git a/cabal.haskell-ci b/cabal.haskell-ci index 391b2ebb..bdf6a02d 100644 --- a/cabal.haskell-ci +++ b/cabal.haskell-ci @@ -6,8 +6,8 @@ installed: +all -Cabal -Cabal-syntax -text -parsec -process -- -- allow failures with ghc-7.6 and ghc-7.8 -- allow-failures: <7.9 --- Use Ubuntu 22.04 -distribution: jammy +-- -- Use Ubuntu 22.04 +-- distribution: jammy apt: libbrotli-dev libgd-dev -- libgd-dev is for gd via hs-captcha diff --git a/hackage-server.cabal b/hackage-server.cabal index 6ef76b48..5d9c0445 100644 --- a/hackage-server.cabal +++ b/hackage-server.cabal @@ -28,14 +28,11 @@ license: BSD-3-Clause license-file: LICENSE tested-with: - GHC == 9.10.1 - GHC == 9.8.2 - GHC == 9.6.5 - GHC == 9.4.8 - GHC == 9.2.8 - GHC == 9.0.2 - GHC == 8.10.7 - GHC == 8.8.4 + GHC == 9.12.2 + GHC == 9.10.2 + GHC == 9.8.4 + GHC == 9.6.7 + -- Constraint transformers >= 0.6 forces GHC >= 9.6 for CI data-dir: datafiles data-files: @@ -130,10 +127,10 @@ common defaults -- see `cabal.project.local-ghc-${VERSION}` files build-depends: , array >= 0.5 && < 0.6 - , base >= 4.13 && < 4.21 + , base >= 4.18 && < 4.22 , binary >= 0.8 && < 0.9 , bytestring >= 0.10 && < 0.13 - , containers >= 0.6.0 && < 0.8 + , containers >= 0.6.0 && < 0.9 , deepseq >= 1.4 && < 1.6 , directory >= 1.3 && < 1.4 , filepath >= 1.4 && < 1.6 @@ -142,15 +139,15 @@ common defaults , pretty >= 1.1 && < 1.2 , process >= 1.6 && < 1.7 , text ^>= 1.2.5.0 || >= 2.0 && < 2.2 - , time >= 1.9 && < 1.13 + , time >= 1.9 && < 1.15 , transformers >= 0.5 && < 0.7 , unix >= 2.7 && < 2.9 , scientific -- other dependencies shared by most components build-depends: , aeson >= 2.1.0.0 && < 2.3 - , Cabal >= 3.12.1.0 && < 3.14 - , Cabal-syntax >= 3.12.1.0 && < 3.14 + , Cabal >= 3.14.2.0 && < 3.16 + , Cabal-syntax >= 3.14.2.0 && < 3.16 -- Cabal-syntax needs to be bound to constrain hackage-security -- see https://github.com/haskell/hackage-server/issues/1130 , fail ^>= 4.9.0 @@ -444,12 +441,12 @@ library -- haddock-library-1.11.0 changed type of markupOrderedList -- see https://github.com/haskell/hackage-server/issues/1128 , happstack-server ^>= 7.7.1 || ^>= 7.8.0 || ^>= 7.9.0 - , hashable ^>= 1.3 || ^>= 1.4 + , hashable >= 1.3 && < 1.6 , hs-captcha ^>= 1.0 , hslogger ^>= 1.3.1 , lifted-base ^>= 0.2.1 , mime-mail ^>= 0.5 - , random ^>= 1.2 + , random >= 1.2 && < 1.4 , rss ^>= 3000.2.0.7 , safecopy ^>= 0.10 , semigroups ^>= 0.20 @@ -458,7 +455,7 @@ library , stringsearch ^>= 0.3.6.6 , tagged ^>= 0.8.5 , transformers ^>= 0.6 - , xhtml >= 3000.2.0.0 && < 3000.4 + , xhtml >= 3000.2.0.0 && < 3000.5 , xmlgen ^>= 0.6 , xss-sanitize ^>= 0.3.6 @@ -600,7 +597,7 @@ test-suite ReverseDependenciesTest , tasty-hedgehog ^>= 1.4 , tasty-hunit ^>= 0.10 , HUnit ^>= 1.6 - , hedgehog ^>= 1.4 + , hedgehog >= 1.4 && < 1.6 , exceptions , bimap , mime-mail