Skip to content

Commit 41b8bf9

Browse files
Merge branch 'master' into harder_hlint_fixes
2 parents 28e8a2b + 4d431e9 commit 41b8bf9

File tree

262 files changed

+9247
-5515
lines changed

Some content is hidden

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

262 files changed

+9247
-5515
lines changed

.circleci/config.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,6 @@ jobs:
9696
- STACK_FILE: "stack-8.8.4.yaml"
9797
<<: *defaults
9898

99-
ghc-8.10.1:
100-
environment:
101-
- STACK_FILE: "stack-8.10.1.yaml"
102-
<<: *defaults
103-
10499
ghc-8.10.2:
105100
environment:
106101
- STACK_FILE: "stack-8.10.2.yaml"
@@ -111,6 +106,11 @@ jobs:
111106
- STACK_FILE: "stack-8.10.3.yaml"
112107
<<: *defaults
113108

109+
ghc-8.10.4:
110+
environment:
111+
- STACK_FILE: "stack-8.10.4.yaml"
112+
<<: *defaults
113+
114114
ghc-default:
115115
environment:
116116
- STACK_FILE: "stack.yaml"
@@ -126,7 +126,7 @@ workflows:
126126
- ghc-8.8.2
127127
- ghc-8.8.3
128128
- ghc-8.8.4
129-
- ghc-8.10.1
130129
- ghc-8.10.2
131130
- ghc-8.10.3
131+
- ghc-8.10.4
132132
- ghc-default

.github/mergify.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@ pull_request_rules:
55
method: squash
66
name: Automatically merge pull requests
77
conditions:
8-
- status-success=bench (8.10.2, ubuntu-latest)
9-
- status-success=bench (8.8.4, ubuntu-latest)
10-
- status-success=bench (8.6.5, ubuntu-latest)
8+
- status-success=bench-example (8.10.4, ubuntu-latest, Cabal-3.0.0.0)
9+
- status-success=bench-example (8.10.4, ubuntu-latest, lsp-types-1.0.0.1)
10+
# disabled (too slow, ~4h) until hie-bios >0.7.2 is released
11+
# - status-success=bench-example (8.10.4, ubuntu-latest, bench_example_HLS)
1112

1213
- status-success=nix (default, ubuntu-latest)
1314
- status-success=nix (default, macOS-latest)
1415

16+
- status-success=test (8.10.4, ubuntu-latest)
17+
- status-success=test (8.10.4, macOS-latest)
1518
- status-success=test (8.10.3, ubuntu-latest)
1619
- status-success=test (8.10.3, macOS-latest)
1720
- status-success=test (8.10.2, ubuntu-latest)
1821
- status-success=test (8.10.2, macOS-latest)
19-
- status-success=test (8.10.1, ubuntu-latest)
20-
- status-success=test (8.10.1, macOS-latest)
2122
- status-success=test (8.8.4, ubuntu-latest)
2223
- status-success=test (8.8.4, macOS-latest)
2324
- status-success=test (8.8.3, ubuntu-latest)
@@ -28,15 +29,15 @@ pull_request_rules:
2829
- status-success=test (8.6.5, macOS-latest)
2930
- status-success=test (8.6.4, ubuntu-latest)
3031
- status-success=test (8.6.4, macOS-latest)
31-
- status-success=test (windows-latest, 8.10.3, true)
32+
- status-success=test (windows-latest, 8.10.4, true)
33+
- status-success=test (windows-latest, 8.10.3)
3234
- status-success=test (windows-latest, 8.6.5, true)
3335
- status-success=test (windows-latest, 8.10.2.2)
34-
- status-success=test (windows-latest, 8.10.1)
3536
# - status-success=test (windows-latest, 8.6.4)
3637

38+
- 'status-success=ci/circleci: ghc-8.10.4'
3739
- 'status-success=ci/circleci: ghc-8.10.3'
3840
- 'status-success=ci/circleci: ghc-8.10.2'
39-
- 'status-success=ci/circleci: ghc-8.10.1'
4041
- 'status-success=ci/circleci: ghc-8.8.4'
4142
- 'status-success=ci/circleci: ghc-8.8.3'
4243
- 'status-success=ci/circleci: ghc-8.8.2'

.github/workflows/bench.yml

Lines changed: 79 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,19 @@ name: Benchmark
22

33
on: [pull_request]
44
jobs:
5-
bench:
5+
bench-init:
66
runs-on: ${{ matrix.os }}
77

88
strategy:
99
fail-fast: false
1010
matrix:
11-
ghc: ['8.10.2', '8.8.4', '8.6.5']
11+
ghc: ['8.10.4']
1212
os: [ubuntu-latest]
1313

1414
steps:
15+
# Cancel queued workflows from earlier commits in this branch
16+
- uses: fkirc/skip-duplicate-actions@master
17+
1518
- uses: actions/checkout@v2
1619
- run: git fetch origin master # check the master branch for benchmarking
1720
- uses: haskell/actions/setup@v1
@@ -38,25 +41,92 @@ jobs:
3841

3942
- name: Build
4043
shell: bash
41-
# Retry it three times to workaround compiler segfaults in windows
42-
run: cabal build ghcide:benchHist || cabal build ghcide:benchHist || cabal build ghcide:benchHist
44+
run: cabal build ghcide:benchHist
45+
46+
- name: Bench init
47+
shell: bash
48+
run: cabal bench ghcide:benchHist -j --benchmark-options="all-binaries"
49+
50+
# tar is required to preserve file permissions
51+
# compression speeds up upload/download nicely
52+
- name: tar workspace
53+
shell: bash
54+
run: tar -czf workspace.tar.gz * .git
55+
56+
- name: tar cabal
57+
run: |
58+
cd ~/.cabal
59+
tar -czf cabal.tar.gz *
60+
61+
- name: Upload workspace
62+
uses: actions/upload-artifact@v2
63+
with:
64+
name: workspace
65+
retention-days: 1
66+
path: workspace.tar.gz
67+
68+
- name: Upload .cabal
69+
uses: actions/upload-artifact@v2
70+
with:
71+
name: cabal-home
72+
retention-days: 1
73+
path: ~/.cabal/cabal.tar.gz
74+
75+
bench-example:
76+
needs: [bench-init]
77+
runs-on: ${{ matrix.os }}
78+
79+
strategy:
80+
fail-fast: false
81+
matrix:
82+
ghc: ['8.10.4']
83+
os: [ubuntu-latest]
84+
example: ['Cabal-3.0.0.0', 'lsp-types-1.0.0.1', 'bench_example_HLS']
85+
86+
steps:
87+
# Cancel queued workflows from earlier commits in this branch
88+
- uses: fkirc/skip-duplicate-actions@master
89+
90+
- uses: haskell/actions/setup@v1
91+
with:
92+
ghc-version: ${{ matrix.ghc }}
93+
cabal-version: '3.2'
94+
enable-stack: false
95+
96+
- name: Download cabal home
97+
uses: actions/download-artifact@v2
98+
with:
99+
name: cabal-home
100+
path: .
101+
102+
- name: Download workspace
103+
uses: actions/download-artifact@v2
104+
with:
105+
name: workspace
106+
path: .
107+
108+
- name: untar
109+
run: |
110+
tar xzf workspace.tar.gz
111+
tar xzf cabal.tar.gz --directory ~/.cabal
43112
44113
- name: Bench
45114
shell: bash
46-
# run the tests without parallelism, otherwise tasty will attempt to run
47-
# all test cases simultaneously which causes way too many hls
48-
# instances to be spun up for the poor github actions runner to handle
49-
run: cabal bench ghcide:benchHist
115+
run: cabal bench ghcide:benchHist -j --benchmark-options="${{ matrix.example }}"
50116

51117
- name: Display results
52118
shell: bash
53119
run: |
54-
column -s, -t < ghcide/bench-results/results.csv | tee ghcide/bench-results/results.txt
120+
column -s, -t < ghcide/bench-results/unprofiled/${{ matrix.example }}/results.csv | tee ghcide/bench-results/unprofiled/${{ matrix.example }}/results.txt
55121
56122
- name: Archive benchmarking artifacts
57123
uses: actions/upload-artifact@v2
58124
with:
59125
name: bench-results-${{ runner.os }}-${{ matrix.ghc }}
60126
path: |
61127
ghcide/bench-results/results.*
128+
ghcide/bench-results/**/*.csv
62129
ghcide/bench-results/**/*.svg
130+
ghcide/bench-results/**/*.eventlog
131+
ghcide/bench-results/**/*.eventlog.html
132+
ghcide/bench-results/**/*.hp

.github/workflows/build.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
ghc: ['8.10.3', '8.10.2', '8.10.1', '8.8.4', '8.8.3', '8.8.2', '8.6.5', '8.6.4']
19+
ghc: ['8.10.4', '8.10.3', '8.10.2', '8.8.4', '8.8.3', '8.8.2', '8.6.5', '8.6.4']
2020
os: [ubuntu-latest, macOS-latest, windows-latest]
2121
exclude:
2222
- os: windows-latest
@@ -113,11 +113,11 @@ jobs:
113113
path: ${{ steps.compress_server_binary.outputs.path }}
114114

115115
- name: Build Wrapper
116-
if: matrix.ghc == '8.10.1'
116+
if: matrix.ghc == '8.10.4'
117117
run: cabal build exe:hls-wrapper -O2 $LINUX_CABAL_ARGS
118118

119119
- name: Compress Wrapper Binary
120-
if: matrix.ghc == '8.10.1'
120+
if: matrix.ghc == '8.10.4'
121121
id: compress_wrapper_binary
122122
run: |
123123
HLS_WRAPPER_BUILD=$(find dist-newstyle \( -name 'hls-wrapper' -o -name 'hls-wrapper.exe' \) -type f)
@@ -136,7 +136,7 @@ jobs:
136136
fi
137137
138138
- name: Upload Wrapper
139-
if: matrix.ghc == '8.10.1'
139+
if: matrix.ghc == '8.10.4'
140140
uses: actions/[email protected]
141141
env:
142142
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -147,7 +147,7 @@ jobs:
147147
asset_content_type: ${{ steps.compress_wrapper_binary.outputs.content_type}}
148148

149149
- uses: actions/upload-artifact@v2
150-
if: matrix.ghc == '8.10.1'
150+
if: matrix.ghc == '8.10.4'
151151
with:
152152
name: haskell-language-server-wrapper-${{ runner.OS }}${{env.EXE_EXT}}.${{ steps.compress_wrapper_binary.outputs.extension }}
153153
path: ${{ steps.compress_wrapper_binary.outputs.path }}

.github/workflows/test.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,15 @@ jobs:
1111
strategy:
1212
fail-fast: true
1313
matrix:
14-
ghc: ["8.10.3", "8.10.2", "8.10.1", "8.8.4", "8.8.3", "8.8.2", "8.6.5", "8.6.4"]
14+
ghc: ["8.10.4", "8.10.3", "8.10.2", "8.8.4", "8.8.3", "8.8.2", "8.6.5", "8.6.4"]
1515
os: [ubuntu-latest, macOS-latest]
1616
include:
17-
# one ghc-lib build
18-
# should be renabled: #784
19-
# - os: ubuntu-latest
20-
# ghc: '8.10.1'
21-
# ghc-lib: true
2217
# only test supported ghc major versions
2318
- os: ubuntu-latest
24-
ghc: '8.10.3'
19+
ghc: '8.10.4'
2520
test: true
2621
- os: windows-latest
27-
ghc: '8.10.3'
22+
ghc: '8.10.4'
2823
test: true
2924
- os: ubuntu-latest
3025
ghc: '8.8.4'
@@ -39,7 +34,7 @@ jobs:
3934
- os: windows-latest
4035
ghc: '8.10.2.2'
4136
- os: windows-latest
42-
ghc: '8.10.1'
37+
ghc: '8.10.3'
4338
# This build get stuck frequently
4439
# - os: windows-latest
4540
# ghc: '8.6.4'

0 commit comments

Comments
 (0)