steps:
- bash: "rm -rf $(Agent.WorkFolder)/_tools/node"
displayName: "Clear Node cache"
- bash: |
rm -rf /tmp/metro-bundler-cache-*
rm -rf /tmp/haste-map-react-native-packager-*
rm -rf ~/.cache/yarn
displayName: Clear RN, Yarn cache
condition: and(succeeded(), or(eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OS'], 'Darwin')))
- task: NodeTool@0
displayName: Use Node 16.x
inputs:
versionSpec: 16.x
checkLatest: true
- task: Npm@1
displayName: "npm i gulp @vscode/vsce -g"
inputs:
command: custom
verbose: false
customCommand: "i gulp @vscode/vsce -g --force"
- task: Npm@1
displayName: "npm ci"
inputs:
command: custom
verbose: false
customCommand: ci
- task: Gulp@0
displayName: "gulp release"
inputs:
targets: release
- task: CopyFiles@2
displayName: "Copy Files to: test/smoke/package/resources/drop-win"
inputs:
Contents: "*.vsix"
TargetFolder: "test/smoke/package/resources/drop-win"
- bash: |
/usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
echo ">>> Started xvfb"
displayName: Start xvfb
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
- bash: |
npm install -g yarn react-native-cli
npm install -g appium@$(appiumVersion) --force
npm install -g expo-cli@$(expoCLIVersion)
npm install -g @expo/ngrok@^4.1.0
displayName: "npm install -g yarn react-native-cli expo-cli @expo/ngrok appium"
- bash: npm install --global windows-build-tools --vs2017
displayName: "npm install --global windows-build-tools --vs2017"
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
- bash: |
export MOCHA_FILE=./ReactNativeSmokeTests.xml
export BASIC_ONLY=""
export RESET_CACHE=""
export SKIP_UNSTABLE_TESTS=""
if [ -z "$(runAllTest)" ]; then
SKIP_UNSTABLE_TESTS="--skip-unstable-tests"
fi
if [ -n "$(basicOnly)" ]; then
BASIC_ONLY="--basic-only"
fi
if [ -n "$(resetApplicationCache)" ]; then
RESET_CACHE="--reset-cache"
fi
yarn smoke-tests $BASIC_ONLY $RESET_CACHE $SKIP_UNSTABLE_TESTS
displayName: "Run smoke tests"
env:
DISPLAY: ":99.0"
- powershell: Get-AppxPackage | where-object {$_.InstallLocation –Match "RNWApp"} | Remove-AppxPackage
displayName: "Clean up RNW app"
condition: and(always(), eq(variables['Agent.OS'], 'Windows_NT'))
- task: PublishTestResults@2
displayName: "Publish Test Results"
inputs:
testResultsFiles: "./$(smokeTestDirectory)/vscode/test/smoke/ReactNativeSmokeTests.xml"
failTaskOnFailedTests: true
testRunTitle: $(Agent.OS) React Native extension smoke tests - Attempt №$(System.JobAttempt)
condition: always()
- task: ArchiveFiles@2
displayName: "Archive SmokeTestLogs"
inputs:
rootFolderOrFile: SmokeTestLogs
archiveFile: "$(Build.ArtifactStagingDirectory)/SmokeTestLogs_$(Agent.JobName)"
condition: always()
- task: PublishBuildArtifacts@1
displayName: "Publish Artifact: SmokeTestLogs"
inputs:
ArtifactName: SmokeTestLogs
condition: always()microsoft/vscode-react-native
Publicmirrored fromhttps://github.com/microsoft/vscode-react-nativeAvailable
.ci/smoke/smoke-tests-common-validation.yml
102lines · modepreview