vsts/e2e-debug-loop.yaml (96 lines of code) (raw):
resources:
- repo: self
jobs:
- job: Phase_1
displayName: Ubuntu 20.04
condition: succeeded()
pool:
vmImage: 'Ubuntu 20.04'
steps:
- task: NodeTool@0
displayName: 'Use Node 12.x'
inputs:
versionSpec: '12.x'
- script: |
npm install --global node-gyp
npm install -g lerna
npm install
displayName: 'Install Tools'
- script: |
lerna bootstrap --hoist
lerna run build
displayName: 'Bootstrap & Build'
- script: |
cd $TEST_DIR
COUNTER=0
while [ $COUNTER -lt $LOOP_COUNT ]; do
echo LOOP COUNTER: $COUNTER
npm -s run $TEST_SUITE
[ $? -eq 0 ] || exit $?
let COUNTER=COUNTER+1
done
displayName: 'Run Specified E2E Test'
env:
DEBUG: $(DEBUG)
LOOP_COUNT: $(LOOP_COUNT)
TEST_SUITE: $(TEST_SUITE)
TEST_DIR: $(TEST_DIR)
IOTHUB_CA_ROOT_CERT: $(IOTHUB-CA-ROOT-CERT)
IOTHUB_CA_ROOT_CERT_KEY: $(IOTHUB-CA-ROOT-CERT-KEY)
IOT_PROVISIONING_DEVICE_ENDPOINT: $(IOT-PROVISIONING-DEVICE-ENDPOINT)
IOTHUB_CONNECTION_STRING: $(LINUX-IOTHUB-CONNECTION-STRING)
STORAGE_CONNECTION_STRING: $(LINUX-STORAGE-CONNECTION-STRING)
IOT_PROVISIONING_DEVICE_IDSCOPE: $(LINUX-IOT-PROVISIONING-DEVICE-IDSCOPE)
IOT_PROVISIONING_ROOT_CERT: $(LINUX-IOT-PROVISIONING-ROOT-CERT)
IOT_PROVISIONING_ROOT_CERT_KEY: $(LINUX-IOT-PROVISIONING-ROOT-CERT-KEY)
IOT_PROVISIONING_SERVICE_CONNECTION_STRING: $(LINUX-IOT-PROVISIONING-SERVICE-CONNECTION-STRING)
DPS_CONN_STRING_INVALID_CERT: $(DPS-CONN-STRING-INVALID-CERT)
DPS_GLOBAL_DEVICE_ENDPOINT_INVALID_CERT: $(DPS-GLOBAL-DEVICE-ENDPOINT-INVALID-CERT)
IOTHUB_CONN_STRING_INVALID_CERT: $(IOTHUB-CONN-STRING-INVALID-CERT)
IOTHUB_DEVICE_CONN_STRING_INVALID_CERT: $(IOTHUB-DEVICE-CONN-STRING-INVALID-CERT)
- job: Phase_2
displayName: Windows
condition: succeeded()
pool:
vmImage: 'vs2017-win2016'
steps:
- task: NodeTool@0
displayName: 'Use Node 12.x'
inputs:
versionSpec: 12.x
- powershell: |
runas.exe /savecred /user:administrator
npm install --global node-gyp
npm install --global lerna
npm install
displayName: 'Install Tools'
- script: |
call lerna bootstrap --hoist
call lerna run build
displayName: 'Bootstrap & Build'
- script: |
cd %TEST_DIR%
FOR /l %%i in (1,1,%LOOP_COUNT%) DO (
echo LOOP COUNTER: %%i
call npm -s run %TEST_SUITE%
if %errorlevel% neq 0 exit /b %errorlevel%
)
displayName: 'Run Specified E2E Test'
env:
DEBUG: $(DEBUG)
LOOP_COUNT: $(LOOP_COUNT)
TEST_SUITE: $(TEST_SUITE)
TEST_DIR: $(TEST_DIR)
IOTHUB_CA_ROOT_CERT: $(IOTHUB-CA-ROOT-CERT)
IOTHUB_CA_ROOT_CERT_KEY: $(IOTHUB-CA-ROOT-CERT-KEY)
IOT_PROVISIONING_DEVICE_ENDPOINT: $(IOT-PROVISIONING-DEVICE-ENDPOINT)
IOTHUB_CONNECTION_STRING: $(WINDOWS-IOTHUB-CONNECTION-STRING)
STORAGE_CONNECTION_STRING: $(WINDOWS-STORAGE-CONNECTION-STRING)
IOT_PROVISIONING_DEVICE_IDSCOPE: $(WINDOWS-IOT-PROVISIONING-DEVICE-IDSCOPE)
IOT_PROVISIONING_ROOT_CERT: $(WINDOWS-IOT-PROVISIONING-ROOT-CERT)
IOT_PROVISIONING_ROOT_CERT_KEY: $(WINDOWS-IOT-PROVISIONING-ROOT-CERT-KEY)
IOT_PROVISIONING_SERVICE_CONNECTION_STRING: $(WINDOWS-IOT-PROVISIONING-SERVICE-CONNECTION-STRING)
DPS_CONN_STRING_INVALID_CERT: $(DPS-CONN-STRING-INVALID-CERT)
DPS_GLOBAL_DEVICE_ENDPOINT_INVALID_CERT: $(DPS-GLOBAL-DEVICE-ENDPOINT-INVALID-CERT)
IOTHUB_CONN_STRING_INVALID_CERT: $(IOTHUB-CONN-STRING-INVALID-CERT)
IOTHUB_DEVICE_CONN_STRING_INVALID_CERT: $(IOTHUB-DEVICE-CONN-STRING-INVALID-CERT)