|
1 | 1 | diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml
|
2 |
| -index d51bb64..7ff8684 100644 |
| 2 | +index 96282c2..e40c573 100644 |
3 | 3 | --- a/.github/workflows/haskell-ci.yml
|
4 | 4 | +++ b/.github/workflows/haskell-ci.yml
|
5 |
| -@@ -224,3 +224,19 @@ jobs: |
| 5 | +@@ -1,6 +1,6 @@ |
| 6 | + # This GitHub workflow config has been generated by a script via |
| 7 | + # |
| 8 | +-# haskell-ci 'github' 'code/hsec-tools/hsec-tools.cabal' |
| 9 | ++# haskell-ci 'github' '--haddock' '--hlint' '--hlint-job' '9.4.5' '--github-patches' '.github/haskell-ci.patch' 'code/hsec-tools/hsec-tools.cabal' |
| 10 | + # |
| 11 | + # To regenerate the script (for example after adjusting tested-with) run |
| 12 | + # |
| 13 | +@@ -8,17 +8,32 @@ |
| 14 | + # |
| 15 | + # For more information, see https://github.com/haskell-CI/haskell-ci |
| 16 | + # |
| 17 | +-# version: 0.16.1 |
| 18 | ++# version: 0.16.3 |
| 19 | + # |
| 20 | +-# REGENDATA ("0.16.1",["github","code/hsec-tools/hsec-tools.cabal"]) |
| 21 | ++# REGENDATA ("0.16.3",["github","--haddock","--hlint","--hlint-job","9.4.5","--github-patches",".github/haskell-ci.patch","code/hsec-tools/hsec-tools.cabal"]) |
| 22 | + # |
| 23 | + name: Haskell-CI |
| 24 | + on: |
| 25 | + - push |
| 26 | + - pull_request |
| 27 | + jobs: |
| 28 | ++ tools_changed: |
| 29 | ++ continue-on-error: true |
| 30 | ++ runs-on: ubuntu-20.04 |
| 31 | ++ outputs: |
| 32 | ++ should_skip: ${{ steps.skip_check.outputs.should_skip }} |
| 33 | ++ steps: |
| 34 | ++ - id: skip_check |
| 35 | ++ uses: fkirc/skip-duplicate-actions@master |
| 36 | ++ with: |
| 37 | ++ concurrent_skipping: "never" |
| 38 | ++ skip_after_successful_duplicate: "true" |
| 39 | ++ paths: '["code/**"]' |
| 40 | ++ do_not_skip: '["push", "workflow_dispatch", "schedule"]' |
| 41 | + linux: |
| 42 | + name: Haskell-CI - Linux - ${{ matrix.compiler }} |
| 43 | ++ needs: tools_changed |
| 44 | ++ if: ${{ needs.tools_changed.outputs.should_skip != 'true' }} |
| 45 | + runs-on: ubuntu-20.04 |
| 46 | + timeout-minutes: |
| 47 | + 60 |
| 48 | +@@ -28,9 +43,9 @@ jobs: |
| 49 | + strategy: |
| 50 | + matrix: |
| 51 | + include: |
| 52 | +- - compiler: ghc-9.6.1 |
| 53 | ++ - compiler: ghc-9.6.2 |
| 54 | + compilerKind: ghc |
| 55 | +- compilerVersion: 9.6.1 |
| 56 | ++ compilerVersion: 9.6.2 |
| 57 | + setup-method: ghcup |
| 58 | + allow-failure: false |
| 59 | + - compiler: ghc-9.4.5 |
| 60 | +@@ -126,6 +141,11 @@ jobs: |
| 61 | + - name: update cabal index |
| 62 | + run: | |
| 63 | + $CABAL v2-update -v |
| 64 | ++ - name: cache (tools) |
| 65 | ++ uses: actions/cache/restore@v3 |
| 66 | ++ with: |
| 67 | ++ key: ${{ runner.os }}-${{ matrix.compiler }}-tools-6b1f90a1 |
| 68 | ++ path: ~/.haskell-ci-tools |
| 69 | + - name: install cabal-plan |
| 70 | + run: | |
| 71 | + mkdir -p $HOME/.cabal/bin |
| 72 | +@@ -135,6 +155,18 @@ jobs: |
| 73 | + rm -f cabal-plan.xz |
| 74 | + chmod a+x $HOME/.cabal/bin/cabal-plan |
| 75 | + cabal-plan --version |
| 76 | ++ - name: install hlint |
| 77 | ++ run: | |
| 78 | ++ if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then HLINTVER=$(cd /tmp && (${CABAL} v2-install -v $ARG_COMPILER --dry-run hlint --constraint='hlint >=3.5 && <3.6' | perl -ne 'if (/\bhlint-(\d+(\.\d+)*)\b/) { print "$1"; last; }')); echo "HLint version $HLINTVER" ; fi |
| 79 | ++ if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then if [ ! -e $HOME/.haskell-ci-tools/hlint-$HLINTVER/hlint ]; then echo "Downloading HLint version $HLINTVER"; mkdir -p $HOME/.haskell-ci-tools; curl --write-out 'Status Code: %{http_code} Redirects: %{num_redirects} Total time: %{time_total} Total Dsize: %{size_download}\n' --silent --location --output $HOME/.haskell-ci-tools/hlint-$HLINTVER.tar.gz "https://github.com/ndmitchell/hlint/releases/download/v$HLINTVER/hlint-$HLINTVER-x86_64-linux.tar.gz"; tar -xzv -f $HOME/.haskell-ci-tools/hlint-$HLINTVER.tar.gz -C $HOME/.haskell-ci-tools; fi ; fi |
| 80 | ++ if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then mkdir -p $CABAL_DIR/bin && ln -sf "$HOME/.haskell-ci-tools/hlint-$HLINTVER/hlint" $CABAL_DIR/bin/hlint ; fi |
| 81 | ++ if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then hlint --version ; fi |
| 82 | ++ - name: save cache (tools) |
| 83 | ++ uses: actions/cache/save@v3 |
| 84 | ++ if: always() |
| 85 | ++ with: |
| 86 | ++ key: ${{ runner.os }}-${{ matrix.compiler }}-tools-6b1f90a1 |
| 87 | ++ path: ~/.haskell-ci-tools |
| 88 | + - name: checkout |
| 89 | + uses: actions/checkout@v3 |
| 90 | + with: |
| 91 | +@@ -187,6 +219,10 @@ jobs: |
| 92 | + - name: build |
| 93 | + run: | |
| 94 | + $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --write-ghc-environment-files=always |
| 95 | ++ - name: hlint |
| 96 | ++ run: | |
| 97 | ++ if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then (cd ${PKGDIR_hsec_tools} && hlint -XHaskell2010 src) ; fi |
| 98 | ++ if [ $((HCNUMVER >= 90400 && HCNUMVER < 90600)) -ne 0 ] ; then (cd ${PKGDIR_hsec_tools} && hlint -XHaskell2010 app) ; fi |
| 99 | + - name: cabal check |
| 100 | + run: | |
| 101 | + cd ${PKGDIR_hsec_tools} || false |
| 102 | +@@ -204,3 +240,19 @@ jobs: |
6 | 103 | with:
|
7 | 104 | key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
|
8 | 105 | path: ~/.cabal/store
|
|
0 commit comments