trigger: - master - releases/* jobs: # Build and test on Windows - job: Test_Windows displayName: Tests on Windows Node8 pool: vmImage: vs2017-win2016 variables: node_version: 8.x report_summaries: true steps: - template: azure-pipelines-tests.yml # Build and test on macOS - job: Test_macOS displayName: Tests on macOS Node8 pool: vmImage: macos-10.13 variables: node_version: 8.x report_summaries: true steps: - template: azure-pipelines-tests.yml # Test on Linux - job: Test_Linux displayName: Run tests pool: vmImage: 'Ubuntu 16.04' strategy: matrix: Node8: node_version: '8.x' Node11: node_version: '11.x' variables: report_summaries: true steps: - template: azure-pipelines-tests.yml # Test production bundle on Linux using Node 4 - job: Prod_Linux displayName: Test production bundle on Linux pool: vmImage: 'Ubuntu 16.04' strategy: matrix: Node4: node_version: '4.x' Node9: node_version: '9.x' steps: - task: NodeTool@0 inputs: versionSpec: '11.x' displayName: 'Install Node.js' - script: npm install -g yarn displayName: 'Get yarn' - script: yarn install displayName: 'yarn install' - script: yarn check-deps displayName: 'Check dependencies' - script: yarn build displayName: 'Build' - task: NodeTool@0 inputs: versionSpec: '$(node_version)' displayName: 'Use Node.js $(node_version)' - script: npm install -g yarn@1.5 displayName: 'Get yarn compatible with node 4' condition: eq(variables['node_version'], '4.x') - script: node ./scripts/test-dist.js displayName: 'Test' - task: PublishTestResults@2 inputs: testResultsFiles: '**/junit.xml' condition: and(variables['report_summaries'], succeededOrFailed()) # Lint checks on Linux - job: Lint_linux displayName: Lint (Linux) pool: vmImage: 'Ubuntu 16.04' steps: - task: NodeTool@0 inputs: versionSpec: '8.x' displayName: 'Install Node.js' - script: yarn install displayName: 'yarn install' - script: yarn lint displayName: 'Lint code' - script: yarn lint-docs displayName: 'Lint docs'