Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Added for Language Server
PYTHONPATH=./uitests
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ npm-debug.log
!yarn.lock
coverage/
.vscode-test/**
.vscode test/**
.vscode-smoke/**
**/.venv*/
port.txt
precommit.hook
Expand Down
56 changes: 38 additions & 18 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,30 @@
{
"version": "0.1.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"smartStep": true,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/**/*"
],
"preLaunchTask": "Compile"
},
{
"name": "Extension inside container",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}", "${workspaceFolder}/data"
"--extensionDevelopmentPath=${workspaceFolder}",
"${workspaceFolder}/data"
],
"stopOnEntry": false,
"smartStep": true,
Expand All @@ -24,7 +41,9 @@
"request": "launch",
"module": "IPython",
"console": "integratedTerminal",
"args": ["${file}"] // Additional args should be prefixed with a '--' first.
"args": [
"${file}"
] // Additional args should be prefixed with a '--' first.
},
{
"name": "Python: Current File",
Expand All @@ -33,22 +52,6 @@
"program": "${file}",
"console": "integratedTerminal"
},
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"stopOnEntry": false,
"smartStep": true,
"sourceMaps": true,
"outFiles": [
"${workspaceFolder}/out/**/*"
],
"preLaunchTask": "Compile"
},
{
"name": "Debugger as debugServer",
"type": "node",
Expand Down Expand Up @@ -178,6 +181,23 @@
"args": [
"watch"
]
},
{
"name": "Behave Smoke Tests",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/uitests/__main__.py",
"args": [
"test",
"--",
"--format",
"progress3",
// Change the tag `@wip` to what ever you want to run.
// Default is assumed to be somethign that's a work in progress (wip).
"--tags=@wip"
],
"justMyCode": false,
"console": "internalConsole"
}
],
"compounds": [
Expand Down
26 changes: 21 additions & 5 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,41 @@
"bin": true,
"**/__pycache__": true,
"node_modules": true,
".vscode-test": true,
"**/.mypy_cache/**": true,
"**/.ropeproject/**": true
},
"search.exclude": {
"out": true, // set this to false to include "out" folder in search results
"coverage": true,
"languageServer*/**": true
"languageServer*/**": true,
".vscode-test": true,
".vscode test": true
},
"[python]": {
"editor.formatOnSave": true
},
"[typescript]": {
"editor.formatOnSave": true
},
"typescript.tsdk": "./node_modules/typescript/lib", // we want to use the TS server from our node_modules folder to control its version
"tslint.enable": true,
"python.linting.enabled": false,
"python.testing.promptToConfigure": false,
"python.workspaceSymbols.enabled": false,
"python.formatting.provider": "none",
"python.formatting.provider": "black",
"typescript.preferences.quoteStyle": "single",
"javascript.preferences.quoteStyle": "single",
"typescriptHero.imports.stringQuoteStyle": "'",
"prettier.tslintIntegration": false,
"prettier.tslintIntegration": true,
Comment thread
DonJayamanne marked this conversation as resolved.
"prettier.printWidth": 180,
"prettier.singleQuote": true
"prettier.singleQuote": true,
"python.jediEnabled": false,
"python.analysis.logLevel": "Trace",
"python.analysis.downloadChannel": "beta",
"python.unitTest.promptToConfigure": false,
"python.linting.enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"cucumberautocomplete.skipDocStringsFormat": true,
"python.linting.flake8Args": ["--max-line-length=120"]
}
5 changes: 4 additions & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
.huskyrc.json
.npmrc
.nvmrc
.nycrc
.travis.yml
CODE_OF_CONDUCT.md
CODING_STANDARDS.md
Expand Down Expand Up @@ -41,13 +42,14 @@ webpack.datascience-*.config.js
.venv/**
.vscode/**
.vscode-test/**
data/**
.vscode test/**
languageServer/**
languageServer.*/**
bin/**
build/**
BuildOutput/**
coverage/**
data/**
debug_coverage*/**
images/**/*.gif
images/**/*.png
Expand All @@ -74,3 +76,4 @@ tmp/**
tpn/**
typings/**
types/**
uitests/**
19 changes: 19 additions & 0 deletions build/ci/templates/build_compile_jobs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Overview:
# Generic jobs template to compile and build extension

jobs:
- job: Compile
variables:
build: false
pool:
vmImage: "macos-latest"
steps:
- template: build_compile_steps.yml

- job: Build
variables:
build: true
pool:
vmImage: "macos-latest"
steps:
- template: build_compile_steps.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
# -----------------------------------------------------------------------------------------------------------------------------
# Overview:
# -----------------------------------------------------------------------------------------------------------------------------
# Set of steps used to compile and build the extension
#
# -----------------------------------------------------------------------------------------------------------------------------
# Variables
# -----------------------------------------------------------------------------------------------------------------------------
# 1. build
# Mandatory
# Possible values, `true` or `false`.
# If `true`, means we need to build the VSIX, else just compile.

steps:
- bash: |
printenv
Expand Down Expand Up @@ -41,50 +54,50 @@ steps:
displayName: "Compile and check for errors"
inputs:
targets: "prePublishNonBundle"
condition: and(succeeded(), eq(variables['Build'], 'false'))
condition: and(succeeded(), eq(variables['build'], 'false'))

- bash: npx tslint ./src/**/*.ts{,x}
displayName: "code hygiene"
condition: and(succeeded(), eq(variables['Build'], 'false'))
condition: and(succeeded(), eq(variables['build'], 'false'))

- bash: |
python -m pip install -U pip
python -m pip --disable-pip-version-check install -t ./pythonFiles/lib/python --no-cache-dir --implementation py --no-deps --upgrade -r requirements.txt
failOnStderr: true
displayName: "pip install requirements"
condition: and(succeeded(), eq(variables['Build'], 'true'))
condition: and(succeeded(), eq(variables['build'], 'true'))

- bash: |
npm install -g vsce
npm run clean
displayName: "Install vsce & Clean"
condition: and(succeeded(), eq(variables['Build'], 'true'))
condition: and(succeeded(), eq(variables['build'], 'true'))

- bash: |
npm run updateBuildNumber -- --buildNumber $BUILD_BUILDID
displayName: "Update dev Version"
condition: and(succeeded(), eq(variables['Build'], 'true'), eq(variables['Build.SourceBranchName'], 'master'))
condition: and(succeeded(), eq(variables['build'], 'true'), eq(variables['Build.SourceBranchName'], 'master'))

- bash: |
npm run updateBuildNumber -- --buildNumber $BUILD_BUILDID --updateChangelog
displayName: "Update release Version"
condition: and(succeeded(), eq(variables['Build'], 'true'), eq(variables['Build.SourceBranchName'], 'release'))
condition: and(succeeded(), eq(variables['build'], 'true'), eq(variables['Build.SourceBranchName'], 'release'))

- bash: |
npm run package
displayName: "Build VSIX"
condition: and(succeeded(), eq(variables['Build'], 'true'))
condition: and(succeeded(), eq(variables['build'], 'true'))

- task: CopyFiles@2
inputs:
contents: "*.vsix"
targetFolder: $(Build.ArtifactStagingDirectory)
displayName: "Copy VSIX"
condition: and(succeeded(), eq(variables['Build'], 'true'))
condition: and(succeeded(), eq(variables['build'], 'true'))

- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)
artifactName: VSIX
displayName: "Publish VSIX to Arifacts"
condition: and(succeeded(), eq(variables['Build'], 'true'))
condition: and(succeeded(), eq(variables['build'], 'true'))
Loading