Skip to content

Commit

Permalink
chore: make CI config DRY (#470)
Browse files Browse the repository at this point in the history
  • Loading branch information
bartlomieju authored and ry committed May 31, 2019
1 parent 2acaf5a commit 8a9993b
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 20 deletions.
6 changes: 6 additions & 0 deletions .ci/template.common.yml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions .ci/template.linux.yml
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions .ci/template.mac.yml
Original file line number Diff line number Diff line change
@@ -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
3 changes: 3 additions & 0 deletions .ci/template.unix.yml
Original file line number Diff line number Diff line change
@@ -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/'
8 changes: 8 additions & 0 deletions .ci/template.windows.yml
Original file line number Diff line number Diff line change
@@ -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"
23 changes: 3 additions & 20 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 8a9993b

Please sign in to comment.