diff options
-rw-r--r-- | .ci/template.common.yml | 6 | ||||
-rw-r--r-- | .ci/template.linux.yml | 5 | ||||
-rw-r--r-- | .ci/template.mac.yml | 6 | ||||
-rw-r--r-- | .ci/template.unix.yml | 3 | ||||
-rw-r--r-- | .ci/template.windows.yml | 8 | ||||
-rw-r--r-- | azure-pipelines.yml | 23 |
6 files changed, 31 insertions, 20 deletions
diff --git a/.ci/template.common.yml b/.ci/template.common.yml new file mode 100644 index 000000000..2d750c27b --- /dev/null +++ b/.ci/template.common.yml @@ -0,0 +1,6 @@ +parameters: + exe_suffix: "" + +steps: + - bash: deno${{ parameters.exe_suffix }} run --allow-run --allow-write --allow-read format.ts --check + - bash: deno${{ parameters.exe_suffix }} run --allow-run --allow-net --allow-write --allow-read --config=tsconfig.test.json test.ts
\ No newline at end of file diff --git a/.ci/template.linux.yml b/.ci/template.linux.yml new file mode 100644 index 000000000..8e935a9c8 --- /dev/null +++ b/.ci/template.linux.yml @@ -0,0 +1,5 @@ +steps: + - bash: npm install eslint typescript@$(TS_VERSION) @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier + - template: ./template.unix.yml + - bash: npx eslint **/*.ts --max-warnings=0 + - template: ./template.common.yml diff --git a/.ci/template.mac.yml b/.ci/template.mac.yml new file mode 100644 index 000000000..81ea6fb35 --- /dev/null +++ b/.ci/template.mac.yml @@ -0,0 +1,6 @@ +steps: + - bash: npm install -g functional-red-black-tree + - bash: npm -g install eslint typescript@$(TS_VERSION) @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier + - template: ./template.unix.yml + - bash: eslint **/*.ts --max-warnings=0 + - template: ./template.common.yml diff --git a/.ci/template.unix.yml b/.ci/template.unix.yml new file mode 100644 index 000000000..aea4e509d --- /dev/null +++ b/.ci/template.unix.yml @@ -0,0 +1,3 @@ +steps: + - bash: curl -L https://deno.land/x/install/install.sh | sh -s $(DENO_VERSION) + - bash: echo '##vso[task.prependpath]$(HOME)/.deno/bin/' diff --git a/.ci/template.windows.yml b/.ci/template.windows.yml new file mode 100644 index 000000000..f2228993d --- /dev/null +++ b/.ci/template.windows.yml @@ -0,0 +1,8 @@ +steps: + - bash: npm install eslint typescript@$(TS_VERSION) @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier + - powershell: iwr https://deno.land/x/install/install.ps1 -out install.ps1; .\install.ps1 $(DENO_VERSION) + - bash: echo "##vso[task.prependpath]C:\Users\VssAdministrator\.deno\\bin" + - bash: npx eslint **/*.ts --max-warnings=0 + - template: ./template.common.yml + parameters: + exe_suffix: ".exe"
\ No newline at end of file diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b993f7aaf..80102a6d4 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -2,39 +2,22 @@ variables: DENO_VERSION: "v0.7.0" TS_VERSION: "3.4.5" -# TODO DRY up the jobs # TODO Try to get eslint to run under Deno, like prettier jobs: - job: "Linux" pool: vmImage: "Ubuntu-16.04" steps: - - script: npm install eslint typescript@$(TS_VERSION) @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier - - script: curl -L https://deno.land/x/install/install.sh | sh -s $(DENO_VERSION) - - script: echo '##vso[task.prependpath]$(HOME)/.deno/bin/' - - script: npx eslint **/*.ts --max-warnings=0 - - script: deno run --allow-run --allow-write --allow-read format.ts --check - - script: deno run --allow-run --allow-net --allow-write --allow-read --config=tsconfig.test.json test.ts + - template: .ci/template.linux.yml - job: "Mac" pool: vmImage: "macOS-10.13" steps: - - script: npm install -g functional-red-black-tree - - script: npm install -g eslint typescript@$(TS_VERSION) @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier - - script: curl -L https://deno.land/x/install/install.sh | sh -s $(DENO_VERSION) - - script: echo '##vso[task.prependpath]$(HOME)/.deno/bin/' - - script: eslint **/*.ts --max-warnings=0 - - script: deno run --allow-run --allow-write --allow-read format.ts --check - - script: deno run --allow-run --allow-net --allow-write --allow-read --config=tsconfig.test.json test.ts + - template: .ci/template.mac.yml - job: "Windows" pool: vmImage: "vs2017-win2016" steps: - - bash: npm install eslint typescript@$(TS_VERSION) @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier - - powershell: iwr https://deno.land/x/install/install.ps1 -out install.ps1; .\install.ps1 $(DENO_VERSION) - - bash: echo "##vso[task.prependpath]C:\Users\VssAdministrator\.deno\\bin" - - bash: npx eslint **/*.ts --max-warnings=0 - - bash: deno.exe run --allow-run --allow-write --allow-read format.ts --check - - bash: deno.exe run --allow-run --allow-net --allow-write --allow-read --config=tsconfig.test.json test.ts + - template: .ci/template.windows.yml |