@@ -58,3 +58,102 @@ jobs:
5858 npm run test
5959 shell : bash
6060 if : runner.os == 'Windows'
61+
62+ vscode :
63+ strategy :
64+ fail-fast : false
65+ matrix :
66+ include :
67+ - os : macos-latest
68+ ARTIFACT : " aarch64-apple-darwin-ghcup"
69+ ghc : 9.12.2
70+ legacy : false
71+ ext : " "
72+ - os : ubuntu-latest
73+ ARTIFACT : " x86_64-linux-ghcup"
74+ ghc : 9.12.2
75+ legacy : false
76+ ext : " "
77+ - os : windows-latest
78+ ARTIFACT : " x86_64-mingw64-ghcup"
79+ ghc : 9.12.2
80+ legacy : false
81+ ext : " .exe"
82+
83+ - os : macos-latest
84+ ARTIFACT : " aarch64-apple-darwin-ghcup"
85+ ghc : 9.12.2
86+ legacy : true
87+ ext : " "
88+ - os : ubuntu-latest
89+ ARTIFACT : " x86_64-linux-ghcup"
90+ ghc : 9.12.2
91+ legacy : true
92+ ext : " "
93+ - os : windows-latest
94+ ARTIFACT : " x86_64-mingw64-ghcup"
95+ ghc : 9.12.2
96+ legacy : true
97+ ext : " .exe"
98+ runs-on : ${{ matrix.os }}
99+ steps :
100+ - name : Checkout
101+ uses : actions/checkout@v6
102+ with :
103+ repository : haskell/vscode-haskell
104+
105+ - name : Install Node.js
106+ uses : actions/setup-node@v6
107+ with :
108+ # # make sure this corresponds with the version in release.yml
109+ node-version : latest
110+
111+ # Install test dependencies
112+ - run : npm ci
113+ - run : npm run webpack
114+
115+ - name : Add bin to PATH
116+ run : echo "$PWD/out" >> $GITHUB_PATH
117+ shell : bash
118+
119+ # Setup toolchains, install ghcup, install ghc, etc...
120+ - name : Install GHCup
121+ uses : haskell/ghcup-setup@v1
122+ with :
123+ ghc : ${{ matrix.ghc }}
124+ cabal : latest
125+ stack : latest
126+
127+ - name : Install toolchain
128+ run : |
129+ echo $PATH
130+ which ghcup
131+ ghcup --version
132+ ghcup install ghc ${{ matrix.ghc }}
133+ ghcup install cabal latest
134+ ghcup install stack latest
135+ ghcup install hls 2.2.0.0
136+ ghcup install hls latest
137+ ghcup config add-release-channel cross
138+ ghcup config add-release-channel 3rdparty
139+ ghcup config add-release-channel prereleases
140+ shell : bash
141+
142+ # Run the tests
143+ - name : Run the test on Linux
144+ run : |
145+ xvfb-run -s '-screen 0 640x480x16' -a npm run test
146+ shell : bash
147+ if : runner.os == 'Linux'
148+
149+ - name : Run the test on macOS
150+ run : |
151+ npm run test
152+ shell : bash
153+ if : runner.os == 'macOS'
154+
155+ - name : Run the test on Windows
156+ run : |
157+ npm run test
158+ shell : bash
159+ if : runner.os == 'Windows'
0 commit comments