| 
32 | 32 |  # We're not running CI on macOS for now because it's one less matrix entry to lower the number of runners used,  | 
33 | 33 |  # macOS runners are expensive, and we assume that Ubuntu is enough to cover the UNIX case.  | 
34 | 34 |  os: [ubuntu-latest]  | 
35 |  | - python: [3.8]   | 
 | 35 | + python: [3.8]  | 
36 | 36 |  test-suite: [group1, group2, group3, group4]  | 
37 | 37 |  steps:  | 
38 | 38 |  - name: Checkout  | 
@@ -149,8 +149,305 @@ jobs:  | 
149 | 149 |  - name: Publish Test Report  | 
150 | 150 |  uses: scacap/action-surefire-report@v1  | 
151 | 151 |  with:  | 
152 |  | - github_token: ${{ secrets.GITHUB_TOKEN }}   | 
153 |  | - report_paths: ${{ env.TEST_RESULTS_GLOB }}   | 
 | 152 | + github_token: ${{ secrets.GITHUB_TOKEN }}  | 
 | 153 | + report_paths: ${{ env.TEST_RESULTS_GLOB }}  | 
154 | 154 |  check_name: Functional Test Report  | 
155 | 155 |  if: steps.test_functional_group.outcome == 'failure' && failure()  | 
156 | 156 | 
 
  | 
 | 157 | + testsInVSCode:  | 
 | 158 | + name: Tests in VS Code  | 
 | 159 | + runs-on: ${{ matrix.os }}  | 
 | 160 | + if: github.repository == 'microsoft/vscode-python'  | 
 | 161 | + strategy:  | 
 | 162 | + fail-fast: false  | 
 | 163 | + matrix:  | 
 | 164 | + # We're not running CI on macOS for now because it's one less matrix entry to lower the number of runners used,  | 
 | 165 | + # macOS runners are expensive, and we assume that Ubuntu is enough to cover the UNIX case.  | 
 | 166 | + os: [ubuntu-latest]  | 
 | 167 | + python: [3.8]  | 
 | 168 | + steps:  | 
 | 169 | + - name: Checkout  | 
 | 170 | + uses: actions/checkout@v2  | 
 | 171 | + | 
 | 172 | + - name: Use Python ${{matrix.python}}  | 
 | 173 | + uses: actions/setup-python@v2  | 
 | 174 | + with:  | 
 | 175 | + python-version: ${{matrix.python}}  | 
 | 176 | + | 
 | 177 | + - name: Upgrade pip  | 
 | 178 | + run: python -m pip install -U pip  | 
 | 179 | + | 
 | 180 | + - name: Use Node ${{env.NODE_VERSION}}  | 
 | 181 | + uses: actions/setup-node@v2.1.1  | 
 | 182 | + with:  | 
 | 183 | + node-version: ${{env.NODE_VERSION}}  | 
 | 184 | + | 
 | 185 | + # Start caching  | 
 | 186 | + | 
 | 187 | + # Cache Python Dependencies.  | 
 | 188 | + # Caching (https://github.com/actions/cache/blob/main/examples.md#python---pip  | 
 | 189 | + - name: Cache pip on linux  | 
 | 190 | + uses: actions/cache@v2  | 
 | 191 | + if: matrix.os == 'ubuntu-latest'  | 
 | 192 | + with:  | 
 | 193 | + path: ~/.cache/pip  | 
 | 194 | + key: ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-${{ hashFiles('requirements.txt') }}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('test-requirements.txt')}}-${{hashFiles('ipython-test-requirements.txt')}}-${{hashFiles('functional-test-requirements.txt')}}-${{hashFiles('conda-functional-requirements.txt')}}  | 
 | 195 | + restore-keys: |  | 
 | 196 | + ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-  | 
 | 197 | +
  | 
 | 198 | + - name: Cache pip on mac  | 
 | 199 | + uses: actions/cache@v2  | 
 | 200 | + if: matrix.os == 'macos-latest'  | 
 | 201 | + with:  | 
 | 202 | + path: ~/Library/Caches/pip  | 
 | 203 | + key: ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-${{ hashFiles('requirements.txt') }}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('test-requirements.txt')}}-${{hashFiles('ipython-test-requirements.txt')}}-${{hashFiles('functional-test-requirements.txt')}}-${{hashFiles('conda-functional-requirements.txt')}}  | 
 | 204 | + restore-keys: |  | 
 | 205 | + ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-  | 
 | 206 | +
  | 
 | 207 | + - name: Cache pip on windows  | 
 | 208 | + uses: actions/cache@v2  | 
 | 209 | + if: matrix.os == 'windows-latest'  | 
 | 210 | + with:  | 
 | 211 | + path: ~\AppData\Local\pip\Cache  | 
 | 212 | + key: ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-${{ hashFiles('requirements.txt') }}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('test-requirements.txt')}}-${{hashFiles('ipython-test-requirements.txt')}}-${{hashFiles('functional-test-requirements.txt')}}-${{hashFiles('conda-functional-requirements.txt')}}  | 
 | 213 | + restore-keys: |  | 
 | 214 | + ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-  | 
 | 215 | +
  | 
 | 216 | + # Caching of npm packages (https://github.com/actions/cache/blob/main/examples.md#node---npm)  | 
 | 217 | + - name: Cache npm on linux/mac  | 
 | 218 | + uses: actions/cache@v2  | 
 | 219 | + if: matrix.os != 'windows-latest'  | 
 | 220 | + with:  | 
 | 221 | + path: ~/.npm  | 
 | 222 | + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}  | 
 | 223 | + restore-keys: |  | 
 | 224 | + ${{ runner.os }}-node-  | 
 | 225 | +
  | 
 | 226 | + - name: Get npm cache directory  | 
 | 227 | + if: matrix.os == 'windows-latest'  | 
 | 228 | + id: npm-cache  | 
 | 229 | + run: |  | 
 | 230 | + echo "::set-output name=dir::$(npm config get cache)"  | 
 | 231 | + - name: Cache npm on windows  | 
 | 232 | + uses: actions/cache@v2  | 
 | 233 | + if: matrix.os == 'windows-latest'  | 
 | 234 | + with:  | 
 | 235 | + path: ${{ steps.npm-cache.outputs.dir }}  | 
 | 236 | + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}  | 
 | 237 | + restore-keys: |  | 
 | 238 | + ${{ runner.os }}-node-  | 
 | 239 | +
  | 
 | 240 | + - name: Cache compiled TS files  | 
 | 241 | + id: out-cache  | 
 | 242 | + uses: actions/cache@v2  | 
 | 243 | + with:  | 
 | 244 | + path: ./out  | 
 | 245 | + key: ${{runner.os}}-${{env.CACHE_OUT_DIRECTORY}}-${{hashFiles('src/**')}}  | 
 | 246 | + | 
 | 247 | + # For faster/better builds of sdists.  | 
 | 248 | + - run: python -m pip install wheel  | 
 | 249 | + shell: bash  | 
 | 250 | + | 
 | 251 | + # debugpy is not shipped, only installed for local tests.  | 
 | 252 | + # In production, we get debugpy from python extension.  | 
 | 253 | + - name: Install functional test requirements  | 
 | 254 | + run: |  | 
 | 255 | + python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r ./requirements.txt  | 
 | 256 | + python -m pip --disable-pip-version-check install -r build/debugger-install-requirements.txt  | 
 | 257 | + python ./pythonFiles/install_debugpy.py  | 
 | 258 | + python -m pip install numpy  | 
 | 259 | + python -m pip install --upgrade jupyter  | 
 | 260 | + python -m pip install --upgrade -r build/test-requirements.txt  | 
 | 261 | + python -m pip install --upgrade -r ./build/ipython-test-requirements.txt  | 
 | 262 | + python -m pip install --upgrade -r ./build/conda-functional-requirements.txt  | 
 | 263 | + python -m ipykernel install --user  | 
 | 264 | + # This step is slow.  | 
 | 265 | + | 
 | 266 | + - name: Install dependencies (npm ci)  | 
 | 267 | + run: npm ci --prefer-offline  | 
 | 268 | + # This step is slow.  | 
 | 269 | + | 
 | 270 | + - name: Compile if not cached  | 
 | 271 | + run: npx gulp prePublishNonBundle  | 
 | 272 | + | 
 | 273 | + | 
 | 274 | + - name: Install Julia  | 
 | 275 | + uses: julia-actions/setup-julia@v1  | 
 | 276 | + with:  | 
 | 277 | + version: 1.5.2  | 
 | 278 | + | 
 | 279 | + - name: Install Jualia Kernel  | 
 | 280 | + run: |  | 
 | 281 | + julia -e '  | 
 | 282 | + using Pkg  | 
 | 283 | + Pkg.add("IJulia")'  | 
 | 284 | +
  | 
 | 285 | + - name: Run VSCode tests  | 
 | 286 | + uses: GabrielBB/xvfb-action@v1.4  | 
 | 287 | + with:  | 
 | 288 | + run: npm run testDataScienceInVSCode  | 
 | 289 | + env:  | 
 | 290 | + DISPLAY: 10  | 
 | 291 | + VSCODE_PYTHON_ROLLING: 1  | 
 | 292 | + VSC_PYTHON_FORCE_LOGGING: 1  | 
 | 293 | + VSC_PYTHON_CI_NON_PYTHON_NB_TEST: 1  | 
 | 294 | + VSC_PYTHON_LOAD_EXPERIMENTS_FROM_FILE: 'true'  | 
 | 295 | + id: test_functional  | 
 | 296 | + | 
 | 297 | + - name: Publish Test Report  | 
 | 298 | + uses: scacap/action-surefire-report@v1  | 
 | 299 | + with:  | 
 | 300 | + github_token: ${{ secrets.GITHUB_TOKEN }}  | 
 | 301 | + report_paths: ${{ env.TEST_RESULTS_GLOB }}  | 
 | 302 | + check_name: VSCode Test Report  | 
 | 303 | + if: steps.test_functional.outcome == 'failure' && failure()  | 
 | 304 | + | 
 | 305 | + | 
 | 306 | +# testsInVSCodeInsiders:  | 
 | 307 | +# name: Tests in VS Code Insiders  | 
 | 308 | +# runs-on: ${{ matrix.os }}  | 
 | 309 | +# if: github.repository == 'microsoft/vscode-python'  | 
 | 310 | +# strategy:  | 
 | 311 | +# fail-fast: false  | 
 | 312 | +# matrix:  | 
 | 313 | +# # We're not running CI on macOS for now because it's one less matrix entry to lower the number of runners used,  | 
 | 314 | +# # macOS runners are expensive, and we assume that Ubuntu is enough to cover the UNIX case.  | 
 | 315 | +# os: [ubuntu-latest]  | 
 | 316 | +# python: [3.8]  | 
 | 317 | +# steps:  | 
 | 318 | +# - name: Checkout  | 
 | 319 | +# uses: actions/checkout@v2  | 
 | 320 | + | 
 | 321 | +# - name: Use Python ${{matrix.python}}  | 
 | 322 | +# uses: actions/setup-python@v2  | 
 | 323 | +# with:  | 
 | 324 | +# python-version: ${{matrix.python}}  | 
 | 325 | + | 
 | 326 | +# - name: Upgrade pip  | 
 | 327 | +# run: python -m pip install -U pip  | 
 | 328 | + | 
 | 329 | +# - name: Use Node ${{env.NODE_VERSION}}  | 
 | 330 | +# uses: actions/setup-node@v2.1.1  | 
 | 331 | +# with:  | 
 | 332 | +# node-version: ${{env.NODE_VERSION}}  | 
 | 333 | + | 
 | 334 | +# # Start caching  | 
 | 335 | + | 
 | 336 | +# # Cache Python Dependencies.  | 
 | 337 | +# # Caching (https://github.com/actions/cache/blob/main/examples.md#python---pip  | 
 | 338 | +# - name: Cache pip on linux  | 
 | 339 | +# uses: actions/cache@v2  | 
 | 340 | +# if: matrix.os == 'ubuntu-latest'  | 
 | 341 | +# with:  | 
 | 342 | +# path: ~/.cache/pip  | 
 | 343 | +# key: ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-${{ hashFiles('requirements.txt') }}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('test-requirements.txt')}}-${{hashFiles('ipython-test-requirements.txt')}}-${{hashFiles('functional-test-requirements.txt')}}-${{hashFiles('conda-functional-requirements.txt')}}  | 
 | 344 | +# restore-keys: |  | 
 | 345 | +# ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-  | 
 | 346 | + | 
 | 347 | +# - name: Cache pip on mac  | 
 | 348 | +# uses: actions/cache@v2  | 
 | 349 | +# if: matrix.os == 'macos-latest'  | 
 | 350 | +# with:  | 
 | 351 | +# path: ~/Library/Caches/pip  | 
 | 352 | +# key: ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-${{ hashFiles('requirements.txt') }}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('test-requirements.txt')}}-${{hashFiles('ipython-test-requirements.txt')}}-${{hashFiles('functional-test-requirements.txt')}}-${{hashFiles('conda-functional-requirements.txt')}}  | 
 | 353 | +# restore-keys: |  | 
 | 354 | +# ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-  | 
 | 355 | + | 
 | 356 | +# - name: Cache pip on windows  | 
 | 357 | +# uses: actions/cache@v2  | 
 | 358 | +# if: matrix.os == 'windows-latest'  | 
 | 359 | +# with:  | 
 | 360 | +# path: ~\AppData\Local\pip\Cache  | 
 | 361 | +# key: ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-${{ hashFiles('requirements.txt') }}-${{hashFiles('build/debugger-install-requirements.txt')}}-${{hashFiles('test-requirements.txt')}}-${{hashFiles('ipython-test-requirements.txt')}}-${{hashFiles('functional-test-requirements.txt')}}-${{hashFiles('conda-functional-requirements.txt')}}  | 
 | 362 | +# restore-keys: |  | 
 | 363 | +# ${{ runner.os }}-pip-${{env.PYTHON_VERSION}}-  | 
 | 364 | + | 
 | 365 | +# # Caching of npm packages (https://github.com/actions/cache/blob/main/examples.md#node---npm)  | 
 | 366 | +# - name: Cache npm on linux/mac  | 
 | 367 | +# uses: actions/cache@v2  | 
 | 368 | +# if: matrix.os != 'windows-latest'  | 
 | 369 | +# with:  | 
 | 370 | +# path: ~/.npm  | 
 | 371 | +# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}  | 
 | 372 | +# restore-keys: |  | 
 | 373 | +# ${{ runner.os }}-node-  | 
 | 374 | + | 
 | 375 | +# - name: Get npm cache directory  | 
 | 376 | +# if: matrix.os == 'windows-latest'  | 
 | 377 | +# id: npm-cache  | 
 | 378 | +# run: |  | 
 | 379 | +# echo "::set-output name=dir::$(npm config get cache)"  | 
 | 380 | +# - name: Cache npm on windows  | 
 | 381 | +# uses: actions/cache@v2  | 
 | 382 | +# if: matrix.os == 'windows-latest'  | 
 | 383 | +# with:  | 
 | 384 | +# path: ${{ steps.npm-cache.outputs.dir }}  | 
 | 385 | +# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}  | 
 | 386 | +# restore-keys: |  | 
 | 387 | +# ${{ runner.os }}-node-  | 
 | 388 | + | 
 | 389 | +# - name: Cache compiled TS files  | 
 | 390 | +# id: out-cache  | 
 | 391 | +# uses: actions/cache@v2  | 
 | 392 | +# with:  | 
 | 393 | +# path: ./out  | 
 | 394 | +# key: ${{runner.os}}-${{env.CACHE_OUT_DIRECTORY}}-${{hashFiles('src/**')}}  | 
 | 395 | + | 
 | 396 | +# # For faster/better builds of sdists.  | 
 | 397 | +# - run: python -m pip install wheel  | 
 | 398 | +# shell: bash  | 
 | 399 | + | 
 | 400 | +# # debugpy is not shipped, only installed for local tests.  | 
 | 401 | +# # In production, we get debugpy from python extension.  | 
 | 402 | +# - name: Install functional test requirements  | 
 | 403 | +# run: |  | 
 | 404 | +# python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r ./requirements.txt  | 
 | 405 | +# python -m pip --disable-pip-version-check install -r build/debugger-install-requirements.txt  | 
 | 406 | +# python ./pythonFiles/install_debugpy.py  | 
 | 407 | +# python -m pip install numpy  | 
 | 408 | +# python -m pip install --upgrade jupyter  | 
 | 409 | +# python -m pip install --upgrade -r build/test-requirements.txt  | 
 | 410 | +# python -m pip install --upgrade -r ./build/ipython-test-requirements.txt  | 
 | 411 | +# python -m pip install --upgrade -r ./build/conda-functional-requirements.txt  | 
 | 412 | +# python -m ipykernel install --user  | 
 | 413 | +# # This step is slow.  | 
 | 414 | + | 
 | 415 | +# - name: Install dependencies (npm ci)  | 
 | 416 | +# run: npm ci --prefer-offline  | 
 | 417 | +# # This step is slow.  | 
 | 418 | + | 
 | 419 | +# - name: Compile if not cached  | 
 | 420 | +# run: npx gulp prePublishNonBundle  | 
 | 421 | + | 
 | 422 | +# - name: Install Julia  | 
 | 423 | +# uses: julia-actions/setup-julia@v1  | 
 | 424 | +# with:  | 
 | 425 | +# version: 1.5.2  | 
 | 426 | + | 
 | 427 | +# - name: Install Jualia Kernel  | 
 | 428 | +# run: |  | 
 | 429 | +# julia -e '  | 
 | 430 | +# using Pkg  | 
 | 431 | +# Pkg.add("IJulia")'  | 
 | 432 | + | 
 | 433 | +# - name: Run VSCode tests  | 
 | 434 | +# uses: GabrielBB/xvfb-action@v1.4  | 
 | 435 | +# with:  | 
 | 436 | +# run: npm run testDataScience  | 
 | 437 | +# env:  | 
 | 438 | +# DISPLAY: 10  | 
 | 439 | +# VSCODE_PYTHON_ROLLING: 1  | 
 | 440 | +# VSC_PYTHON_FORCE_LOGGING: 1  | 
 | 441 | +# VSC_PYTHON_CI_NON_PYTHON_NB_TEST: 1  | 
 | 442 | +# VSC_PYTHON_CI_TEST_VSC_CHANNEL: 'insiders'  | 
 | 443 | +# VSC_PYTHON_LOAD_EXPERIMENTS_FROM_FILE: 'true'  | 
 | 444 | +# id: test_functional  | 
 | 445 | + | 
 | 446 | +# - name: Publish Test Report  | 
 | 447 | +# uses: scacap/action-surefire-report@v1  | 
 | 448 | +# with:  | 
 | 449 | +# github_token: ${{ secrets.GITHUB_TOKEN }}  | 
 | 450 | +# report_paths: ${{ env.TEST_RESULTS_GLOB }}  | 
 | 451 | +# check_name: VSCode Test Report  | 
 | 452 | +# if: steps.test_functional.outcome == 'failure' && failure()  | 
 | 453 | + | 
0 commit comments