summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.ci/template.common.yml6
-rw-r--r--.ci/template.linux.yml5
-rw-r--r--.ci/template.mac.yml6
-rw-r--r--.ci/template.unix.yml3
-rw-r--r--.ci/template.windows.yml8
-rw-r--r--azure-pipelines.yml23
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