Skip to content

Commit 3bafc35

Browse files
authored
Merge branch 'master' into mpj/fix-nix
2 parents 7f96754 + ccf9d04 commit 3bafc35

File tree

131 files changed

+3050
-832
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+3050
-832
lines changed

.github/workflows/bench.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ jobs:
3232
matrix:
3333
ghc: ['8.10.7']
3434
os: [ubuntu-latest]
35+
cabal: ['3.6']
3536

3637
steps:
3738
- uses: actions/checkout@v2
@@ -40,8 +41,8 @@ jobs:
4041

4142
- uses: haskell/actions/setup@v1
4243
with:
43-
ghc-version: ${{ matrix.ghc }}
44-
cabal-version: '3.2'
44+
ghc-version : ${{ matrix.ghc }}
45+
cabal-version: ${{ matrix.cabal }}
4546
enable-stack: false
4647

4748
- name: Cache Cabal
@@ -109,8 +110,8 @@ jobs:
109110
steps:
110111
- uses: haskell/actions/setup@v1
111112
with:
112-
ghc-version: ${{ matrix.ghc }}
113-
cabal-version: '3.2'
113+
ghc-version : ${{ matrix.ghc }}
114+
cabal-version: ${{ matrix.cabal }}
114115
enable-stack: false
115116

116117
- name: Download cabal home

.github/workflows/build.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.8.4', '8.8.3', '8.6.5']
21+
ghc: ['9.0.1', '8.10.7', '8.10.6', '8.8.4', '8.8.3', '8.6.5']
2222
os: [ubuntu-18.04, macOS-latest, windows-latest]
23+
cabal: ['3.6']
2324
exclude:
2425
- os: windows-latest
2526
ghc: '8.8.3' # fails due to segfault
@@ -30,8 +31,8 @@ jobs:
3031
submodules: true
3132
- uses: haskell/actions/setup@v1
3233
with:
33-
ghc-version: ${{ matrix.ghc }}
34-
cabal-version: '3.4'
34+
ghc-version : ${{ matrix.ghc }}
35+
cabal-version: ${{ matrix.cabal }}
3536

3637
- name: Use modified cabal.project for ghc9
3738
if: ${{ matrix.ghc == '9.0.1' }}
@@ -68,12 +69,6 @@ jobs:
6869
run: |
6970
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV
7071
71-
- name: Workaround for GHC 8.10.5 on macOS
72-
if: matrix.os == 'macOS-latest' && matrix.ghc == '8.10.5'
73-
run: |
74-
echo "# uninstalling CommandLineTools (see https://github.com/haskell/haskell-language-server/issues/1913#issuecomment-861667786)"
75-
sudo rm -rf /Library/Developer/CommandLineTools
76-
7772
- name: Modify cabal.project to workaround segfaults for ghc-8.8.4 and windows
7873
if: matrix.ghc == '8.8.4' && matrix.os == 'windows-latest'
7974
run: |

.github/workflows/cache-deps.yml renamed to .github/workflows/caching.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
name: Caching of dependencies
1+
name: Caching
22

3-
# 2021-11-30: NOTE: This workflow currently a trimmed copy of a main `test.yml` workflow. Workflows need further deduplication: https://docs.github.com/en/actions/learn-github-actions/reusing-workflows#overview
3+
# Docs on the workflow:
4+
# 1. GitHub cache scoping goes: main branch -> PR main branch -> PR. (essentially in a tree fashion). That is why it is useful to build caches on `master` - to generate & keep the main project state & they would be shared to the whole tree.
5+
# 2. GitHub has a 10G default limit of cache pool per repo. HLS is a big project & monorepo of many projects, so to keep cache useful - the main branch state caches should be preserved & their storage preferred to the PRs, since PRs from internal branches - would count into 10G pool, but would be available only inside of the PR scope, which can bork cache fore the whole community. That is short story why `dist-newstyle` (especially full) - is not includded into `master` cache.
46

57
defaults:
68
run:
@@ -16,11 +18,8 @@ on:
1618
branches:
1719
- master
1820
schedule:
19-
# Try to save snapshot every day at 03:45 UTC (~21:45 in California)
20-
- cron: "45 3 * * *"
21-
pull_request:
22-
branches:
23-
- '**'
21+
# Try to save snapshot every day at 08:25 UTC (~00:25 in California)
22+
- cron: "25 8 * * *"
2423

2524
jobs:
2625
pre_job:
@@ -47,8 +46,9 @@ jobs:
4746
runs-on: ${{ matrix.os }}
4847
strategy:
4948
matrix:
50-
ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.8.4", "8.8.3", "8.6.5"]
49+
ghc: ["9.0.1", '8.10.7', '8.10.6', "8.8.4", "8.8.3", "8.6.5"]
5150
os: [ubuntu-latest, macOS-latest, windows-latest]
51+
cabal: ['3.6']
5252
exclude:
5353
- os: windows-latest
5454
ghc: '8.8.3'
@@ -59,8 +59,8 @@ jobs:
5959
submodules: true
6060
- uses: haskell/actions/setup@v1
6161
with:
62-
ghc-version: ${{ matrix.ghc }}
63-
cabal-version: "3.4"
62+
ghc-version : ${{ matrix.ghc }}
63+
cabal-version: ${{ matrix.cabal }}
6464

6565
- if: matrix.os == 'windows-latest'
6666
name: Set some window specific things

.github/workflows/hackage.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@ jobs:
2525
"hls-module-name-plugin", "hls-pragmas-plugin",
2626
"hls-refine-imports-plugin", "hls-retrie-plugin",
2727
"hls-splice-plugin", "hls-tactics-plugin",
28-
"hls-call-hierarchy-plugin",
28+
"hls-call-hierarchy-plugin", "hls-alternate-number-format-plugin",
29+
"hls-qualify-imported-names-plugin",
2930
"haskell-language-server"]
3031
# Uncomment 9.0.1 when ghcide is buildable
3132
ghc: [ "9.0.1",
3233
"8.10.7",
3334
"8.8.4",
3435
"8.6.5"]
36+
cabal: ['3.6']
3537
exclude:
3638
- ghc: "9.0.1"
3739
package: "hls-brittany-plugin"
@@ -50,8 +52,8 @@ jobs:
5052

5153
- uses: haskell/actions/setup@v1
5254
with:
53-
ghc-version: ${{ matrix.ghc }}
54-
cabal-version: '3.4'
55+
ghc-version : ${{ matrix.ghc }}
56+
cabal-version: ${{ matrix.cabal }}
5557

5658
- name: Cache Cabal
5759
uses: actions/cache@v2

.github/workflows/test.yml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ jobs:
4040
strategy:
4141
fail-fast: true
4242
matrix:
43-
ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.8.4", "8.8.3", "8.6.5"]
43+
ghc: ["9.0.1", '8.10.7', '8.10.6', "8.8.4", "8.8.3", "8.6.5"]
4444
os: [ubuntu-latest, macOS-latest]
45+
cabal: ['3.6']
4546
include:
4647
# only test supported ghc major versions
4748
- os: ubuntu-latest
@@ -68,8 +69,6 @@ jobs:
6869
# only build rest of supported ghc versions for windows
6970
- os: windows-latest
7071
ghc: '8.10.6'
71-
- os: windows-latest
72-
ghc: '8.10.5'
7372
- os: windows-latest
7473
ghc: '8.8.4'
7574

@@ -79,8 +78,8 @@ jobs:
7978
submodules: true
8079
- uses: haskell/actions/setup@v1
8180
with:
82-
ghc-version: ${{ matrix.ghc }}
83-
cabal-version: "3.4"
81+
ghc-version : ${{ matrix.ghc }}
82+
cabal-version: ${{ matrix.cabal }}
8483

8584
- run: ./fmt.sh
8685
name: "HLint via ./fmt.sh"
@@ -97,12 +96,6 @@ jobs:
9796
echo "CABAL_STORE_DIR=~/.cabal/store" >> $GITHUB_ENV
9897
echo "CABAL_PKGS_DIR=~/.cabal/packages" >> $GITHUB_ENV
9998
100-
- if: matrix.os == 'macOS-latest' && matrix.ghc == '8.10.5'
101-
name: Workaround for GHC 8.10.5 on macOS
102-
run: |
103-
echo "# uninstalling CommandLineTools (see https://github.com/haskell/haskell-language-server/issues/1913#issuecomment-861667786)"
104-
sudo rm -rf /Library/Developer/CommandLineTools
105-
10699
# Needs to be before Cache Cabal so the cache can detect changes to the modified cabal.project file
107100
- if: matrix.ghc == '9.0.1'
108101
name: Use modified cabal.project for ghc9
@@ -237,9 +230,13 @@ jobs:
237230
name: Test hls-hlint-plugin test suite
238231
run: cabal test hls-hlint-plugin --test-options="$TEST_OPTS" || cabal test hls-hlint-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-hlint-plugin --test-options="$TEST_OPTS"
239232

233+
- if: matrix.test
234+
name: Test hls-alternate-number-format-plugin test suite
235+
run: cabal test hls-alternate-number-format-plugin --test-options="$TEST_OPTS" || cabal test hls-alternate-number-format-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-alternate-number-format-plugin --test-options="$TEST_OPTS"
236+
240237
- if: matrix.test
241238
name: Test hls-qualify-imported-names-plugin test suite
242-
run: cabal test hls-qualify-imported-names-plugin --test-options="-j1 --rerun-update" || cabal test hls-qualify-imported-names-plugin --test-options="-j1 --rerun" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-qualify-imported-names-plugin --test-options="-j1 --rerun"
239+
run: cabal test hls-qualify-imported-names-plugin --test-options="$TEST_OPTS" || cabal test hls-qualify-imported-names-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-qualify-imported-names-plugin --test-options="$TEST_OPTS"
243240

244241
test_post_job:
245242
if: always()

0 commit comments

Comments
 (0)