203 строки
6.2 KiB
YAML
203 строки
6.2 KiB
YAML
pr:
|
|
- main
|
|
|
|
variables:
|
|
- template: variables/vars.yml
|
|
|
|
jobs:
|
|
# Dedicated task to build JS code, including jest tests, snapshot testing, and linting, because these things can be super
|
|
# time consuming they don't need to run on every CI pass, instead do a dedicated JS loop to make the platform specific tests start quicker
|
|
- job: JSPR
|
|
displayName: JS PR
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
|
|
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them
|
|
|
|
steps:
|
|
- checkout: self
|
|
persistCredentials: true
|
|
|
|
- template: templates/setup-repo.yml
|
|
|
|
- script: |
|
|
yarn checkchange
|
|
displayName: 'check change'
|
|
|
|
- script: |
|
|
yarn prettier
|
|
displayName: 'check prettier'
|
|
|
|
- script: |
|
|
yarn buildci
|
|
displayName: 'yarn buildci [test]'
|
|
|
|
- script: |
|
|
yarn check-for-changed-files
|
|
displayName: 'verify API and Ensure Changed Files'
|
|
|
|
- job: AndroidPR
|
|
displayName: Android PR
|
|
pool:
|
|
vmImage: 'macos-latest'
|
|
variables:
|
|
platform: 'android'
|
|
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
|
|
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them
|
|
|
|
steps:
|
|
- checkout: self
|
|
persistCredentials: true
|
|
|
|
# setup repo basics
|
|
- template: templates/setup-repo-min-build.yml
|
|
|
|
# package android bundle
|
|
- script: |
|
|
yarn bundle:$(platform)
|
|
workingDirectory: apps/fluent-tester
|
|
displayName: 'yarn bundle $(platform)'
|
|
|
|
# sets-up specifics for android dependency like NDK & emulator
|
|
- template: templates/android-dep-setup.yml
|
|
|
|
# builds a debug apk and runs E2E tests on it
|
|
- template: templates/e2e-testing-android.yml
|
|
|
|
- job: macOSPR
|
|
displayName: macOS PR
|
|
pool:
|
|
vmImage: $(VmImageApple)
|
|
variables:
|
|
platform: 'macos'
|
|
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
|
|
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them
|
|
|
|
steps:
|
|
- checkout: self
|
|
persistCredentials: true
|
|
|
|
- template: templates/setup-repo-min-build.yml
|
|
|
|
- template: templates/apple-tools-setup.yml
|
|
|
|
- script: |
|
|
set -eox pipefail
|
|
yarn bundle:macos
|
|
workingDirectory: apps/fluent-tester
|
|
displayName: 'yarn bundle macos'
|
|
|
|
- bash: |
|
|
set -eox pipefail
|
|
pod install --verbose
|
|
workingDirectory: apps/fluent-tester/macos
|
|
displayName: 'pod install'
|
|
|
|
- task: CmdLine@2
|
|
displayName: Build macOS
|
|
inputs:
|
|
script: |
|
|
set -eox pipefail
|
|
./.ado/scripts/xcodebuild.sh apps/fluent-tester/macos/FluentTester.xcworkspace macosx ReactTestApp build
|
|
env:
|
|
CCACHE_DISABLE: 1
|
|
|
|
- template: templates/e2e-testing-macos.yml
|
|
|
|
- job: iOSPR
|
|
displayName: iOS PR
|
|
pool:
|
|
vmImage: $(VmImageApple)
|
|
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
|
|
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them
|
|
|
|
steps:
|
|
- checkout: self
|
|
persistCredentials: true
|
|
|
|
- template: templates/setup-repo-min-build.yml
|
|
|
|
- template: templates/apple-tools-setup.yml
|
|
|
|
- script: |
|
|
set -eox pipefail
|
|
yarn bundle:ios
|
|
workingDirectory: apps/fluent-tester
|
|
displayName: 'yarn bundle ios'
|
|
|
|
- bash: |
|
|
set -eox pipefail
|
|
pod install --verbose
|
|
workingDirectory: apps/fluent-tester/ios
|
|
displayName: 'pod install'
|
|
|
|
- task: CmdLine@2
|
|
displayName: Build iOS
|
|
inputs:
|
|
script: |
|
|
set -eox pipefail
|
|
./.ado/scripts/xcodebuild.sh apps/fluent-tester/ios/FluentTester.xcworkspace iphonesimulator ReactTestApp build
|
|
env:
|
|
CCACHE_DISABLE: 1
|
|
|
|
# Disable iOS E2E tests as they fail on macOS-13 images
|
|
# - template: templates/e2e-testing-ios.yml
|
|
|
|
# Windows bundling and end to end testing
|
|
- job: WindowsPR
|
|
displayName: Windows PR
|
|
pool:
|
|
name: rnw-pool-4
|
|
demands:
|
|
- ImageOverride -equals rnw-img-vs2022-node18
|
|
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
|
|
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them
|
|
|
|
# The "displayName" of all steps that execute a command within our repo (such as 'yarn build') start lowercase to make it
|
|
# easier to differentiate in-repo scripts from environmental setup. This makes it easier to understand CI pipeline results.
|
|
steps:
|
|
- checkout: self
|
|
persistCredentials: true
|
|
fetchDepth: 5
|
|
|
|
# yarn and minimal build to get set up
|
|
- template: templates/setup-repo-min-build.yml
|
|
|
|
# bundle windows adn do end to end tests
|
|
- template: templates/e2e-testing-uwp.yml
|
|
|
|
# Win32 bundling and end to end testing
|
|
- job: Win32PR
|
|
displayName: Win32 PR
|
|
pool:
|
|
vmImage: 'windows-2019'
|
|
timeoutInMinutes: 60
|
|
cancelTimeoutInMinutes: 5
|
|
|
|
steps:
|
|
- checkout: self
|
|
persistCredentials: true
|
|
|
|
# yarn and minimal build to get set up
|
|
- template: templates/setup-repo-min-build.yml
|
|
|
|
# bundle win32 and do end to end tests
|
|
- template: templates/e2e-testing-win32.yml
|
|
|
|
# Dedicated task to make sure link on repo are functional.
|
|
- job: TestLinks
|
|
displayName: Test repo links
|
|
pool: cxe-ubuntu-20-04-small
|
|
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
|
|
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them
|
|
|
|
steps:
|
|
- checkout: self
|
|
persistCredentials: true
|
|
|
|
- template: templates/setup-repo.yml
|
|
|
|
- script: |
|
|
find . -name \*.md -not -name CHANGELOG.md -not -path '*/\node_modules/*' -print0 | xargs -0 -n1 yarn test-links -c `pwd`/.ado/markdown-link-check-config.json
|
|
displayName: 'testing links'
|