trigger:
  - master
  - release-*

variables:
  AST_COMPARE: true
  ENABLE_TEST_RESULTS: true
  ENABLE_CODE_COVERAGE: "" # only enable coverage on the fastest job

jobs:
  - job: Dev_Lint
    displayName: Dev Lint on Linux Node v12
    pool:
      vmImage: "Ubuntu 16.04"
    variables:
      node_version: 12
    steps:
      - template: .azure-pipelines/jobs/dev-lint.yml

  - job: Dev_Test_Windows
    displayName: Dev Test on Windows Node v12
    pool:
      vmImage: vs2017-win2016
    variables:
      node_version: 12
      TEST_CRLF: true
    steps:
      - template: .azure-pipelines/jobs/dev-test.yml

  - job: Dev_Test_macOS
    displayName: Dev Test on macOS Node v12
    pool:
      vmImage: macos-10.13
    variables:
      node_version: 12
      ENABLE_CODE_COVERAGE: true
    steps:
      - template: .azure-pipelines/jobs/dev-test.yml

  - job: Dev_Test_Linux
    displayName: Dev Test on Linux Node v12
    pool:
      vmImage: "Ubuntu 16.04"
    variables:
      node_version: 12
    steps:
      - template: .azure-pipelines/jobs/dev-test.yml

  - job: Prod_Build
    displayName: Prod Build on Linux Node v12
    pool:
      vmImage: "Ubuntu 16.04"
    variables:
      node_version: 12
    steps:
      - template: .azure-pipelines/jobs/prod-build.yml

  - job: Prod_Pack
    dependsOn: Prod_Build
    displayName: Prod Pack on Linux Node v12
    pool:
      vmImage: "Ubuntu 16.04"
    variables:
      node_version: 12
    steps:
      - template: .azure-pipelines/jobs/prod-pack.yml

  - job: Prod_Lint
    dependsOn: Prod_Build
    displayName: Prod Lint on Linux Node v12
    pool:
      vmImage: "Ubuntu 16.04"
    variables:
      node_version: 12
    steps:
      - template: .azure-pipelines/jobs/prod-lint.yml

  - job: Prod_Test
    dependsOn: Prod_Build
    displayName: Prod Test on macOS
    pool:
      vmImage: macos-10.13
    strategy:
      matrix:
        Node_v4:
          node_version: 4
          ENABLE_TEST_RESULTS: "" # jest-junit requires node v6+
        Node_v12:
          node_version: 12
        Node_v12_standalone:
          node_version: 12
          TEST_STANDALONE: true
    steps:
      - template: .azure-pipelines/jobs/prod-test.yml
