forked from Azure/iotedge
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
32 changed files
with
5,460 additions
and
204 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,172 @@ | ||
trigger: none | ||
pr: none | ||
|
||
variables: | ||
images.artifact.name.linux: 'core-linux' | ||
vsts.project: $(System.TeamProjectId) | ||
|
||
jobs: | ||
################################################################################ | ||
- job: linux_amd64_moby | ||
################################################################################ | ||
displayName: Linux AMD64 Moby | ||
condition: ne(variables['agent.group'], '') | ||
timeoutInMinutes: 180 | ||
strategy: | ||
matrix: | ||
Online: | ||
testrun.config: 1 | ||
testrun.network.description: "Online" | ||
testrun.network.frequencies: "00:00:00 00:00:00 0" | ||
testrun.network.runProfile: "Online" | ||
testrun.duration: "01:00:00" | ||
Offline(5/5/5): | ||
testrun.config: 2 | ||
testrun.network.description: "Offline(5/5/5)" | ||
testrun.network.frequencies: "00:05:00 00:05:00 5" | ||
testrun.network.runProfile: "Offline" | ||
testrun.duration: "00:50:00" | ||
Offline(10/10/3): | ||
testrun.config: 3 | ||
testrun.network.description: "Offline(10/10/3)" | ||
testrun.network.frequencies: "00:10:00 00:10:00 3" | ||
testrun.network.runProfile: "Offline" | ||
testrun.duration: "01:00:00" | ||
Offline(15/15/3): | ||
testrun.config: 4 | ||
testrun.network.description: "Offline(15/15/3)" | ||
testrun.network.frequencies: "00:15:00 00:15:00 3" | ||
testrun.network.runProfile: "Offline" | ||
testrun.duration: "01:30:00" | ||
Offline(30/30/2): | ||
testrun.config: 5 | ||
testrun.network.description: "Offline(30/30/2)" | ||
testrun.network.frequencies: "00:30:00 00:30:00 2" | ||
testrun.network.runProfile: "Offline" | ||
testrun.duration: "02:00:00" | ||
Offline(5/20/3): | ||
testrun.config: 6 | ||
testrun.network.description: "Offline(5/20/3)" | ||
testrun.network.frequencies: "00:05:00 00:20:00 3" | ||
testrun.network.runProfile: "Offline" | ||
testrun.duration: "01:15:00" | ||
SatelliteGood(60/0/1): | ||
testrun.config: 7 | ||
testrun.network.description: "SatelliteGood(60/0/1)" | ||
testrun.network.frequencies: "01:00:00 00:00:00 1" | ||
testrun.network.runProfile: "SatelliteGood" | ||
testrun.duration: "01:00:00" | ||
Cellular3G(60/0/1): | ||
testrun.config: 8 | ||
testrun.network.description: "Cellular3G(60/0/1)" | ||
testrun.network.frequencies: "01:00:00 00:00:00 1" | ||
testrun.network.runProfile: "Cellular3G" | ||
testrun.duration: "01:00:00" | ||
pool: | ||
name: $(pool.name) | ||
demands: | ||
- agent-group -equals $(agent.group) | ||
- Agent.OS -equals Linux | ||
- Agent.OSArchitecture -equals X64 | ||
- run-connectivity -equals true | ||
- nested-edge -equals L3 | ||
variables: | ||
edgelet.artifact.name: 'iotedged-ubuntu16.04-amd64' | ||
steps: | ||
- task: Bash@3 | ||
name: Print_test_parameters | ||
displayName: 'Print test parameters' | ||
inputs: | ||
targetType: inline | ||
script: | | ||
# print all matrix variables here | ||
echo "testrun.config=$(testrun.config)" | ||
echo "testrun.network.frequencies=$(testrun.network.frequencies)" | ||
echo "testrun.network.runProfile=$(testrun.network.runProfile)" | ||
echo "testrun.duration=$(testrun.duration)" | ||
echo "deploymentFileName=$(deploymentFileName)" | ||
echo "test.runtimeLogLevel=$(test.runtimeLogLevel)" | ||
- template: templates/set-run-flag.yaml | ||
- checkout: none | ||
condition: and(succeeded(), eq(variables['run.flag'], 1)) | ||
- task: AzureKeyVault@1 | ||
condition: eq(variables['run.flag'], 1) | ||
displayName: 'EdgeBuild Azure Key Vault' | ||
inputs: | ||
azureSubscription: $(azure.subscription) | ||
KeyVaultName: edgebuildkv | ||
SecretsFilter: 'edgebuilds-azurecr-io-username,edgebuilds-azurecr-io-pwd,kvLogAnalyticWorkspaceId,kvLogAnalyticSharedKey,EdgeConnectivityStorageAccountConnString' | ||
- task: AzureKeyVault@1 | ||
condition: eq(variables['run.flag'], 1) | ||
displayName: 'Nested Edge Azure Key Vault' | ||
inputs: | ||
azureSubscription: $(azure.subscription) | ||
KeyVaultName: edgebuildkv | ||
SecretsFilter: 'ConnectivityNestedEdge-ConnectionString,ConnectivityNestedEdge-EventHubConnectionString' | ||
- task: DownloadBuildArtifacts@0 | ||
condition: and(succeeded(), eq(variables['run.flag'], 1)) | ||
displayName: 'Download Edgelet Artifacts' | ||
inputs: | ||
buildType: specific | ||
project: $(vsts.project) | ||
pipeline: $(edgelet.package.build) | ||
branchName: $(edgelet.package.branchName) | ||
buildVersionToDownload: latestFromBranch | ||
downloadPath: '$(Build.StagingDirectory)' | ||
artifactName: $(edgelet.artifact.name) | ||
- task: DownloadBuildArtifacts@0 | ||
condition: and(succeeded(), eq(variables['run.flag'], 1)) | ||
displayName: 'Download Images Artifacts' | ||
inputs: | ||
buildType: specific | ||
project: $(vsts.project) | ||
pipeline: $(images.build) | ||
branchName: $(images.branchName) | ||
buildVersionToDownload: latestFromBranch | ||
downloadPath: '$(Build.StagingDirectory)' | ||
artifactName: $(images.artifact.name.linux) | ||
itemPattern: | | ||
$(images.artifact.name.linux)/IotEdgeQuickstart.linux-x64.tar.gz | ||
$(images.artifact.name.linux)/e2e_deployment_files/$(deploymentFileName) | ||
$(images.artifact.name.linux)/scripts/connectivityTest.sh | ||
$(images.artifact.name.linux)/scripts/testHelper.sh | ||
$(images.artifact.name.linux)/artifactInfo.txt | ||
# Deploy connectivity test | ||
- template: templates/connectivity-deploy.yaml | ||
parameters: | ||
release.label: 'ct$(agent.group)' | ||
test.buildNumber: '$(Build.BuildNumber)' | ||
test.buildId: '$(Build.BuildId)' | ||
build.source.branch: '$(Build.SourceBranchName)' | ||
edgelet.source.branch: '$(edgelet.package.branchName)' | ||
images.source.branch: '$(images.branchName)' | ||
edgelet.artifact.name: '$(edgelet.artifact.name)' | ||
images.artifact.name: '$(images.artifact.name.linux)' | ||
container.registry: '$(container.registry)' | ||
container.registry.username: '$(edgebuilds-azurecr-io-username)' | ||
container.registry.password: '$(edgebuilds-azurecr-io-pwd)' | ||
iotHub.connectionString: '$(ConnectivityNestedEdge-ConnectionString)' | ||
eventHub.connectionString: '$(ConnectivityNestedEdge-EventHubConnectionString)' | ||
deploymentFileName: '$(deploymentFileName)' | ||
upstream.protocol: '$(upstream.protocol)' | ||
loadGen.message.frequency: '$(loadGen.message.frequency.amd64)' | ||
edgeHubRestartTest.restartPeriod: '$(edgeHubRestartTest.restartPeriod)' | ||
edgeHubRestartTest.sdkOperationTimeout: '$(edgeHubRestartTest.sdkOperationTimeout)' | ||
testDuration: '$(testrun.duration)' | ||
testStartDelay: '$(testStartDelay)' | ||
networkController.frequencies: '$(testrun.network.frequencies)' | ||
networkController.runProfile: '$(testrun.network.runProfile)' | ||
networkController.description: '$(testrun.network.description)' | ||
logAnalyticsWorkspaceId: '$(kvLogAnalyticWorkspaceId)' | ||
logAnalyticsSharedKey: '$(kvLogAnalyticSharedKey)' | ||
testResultCoordinator.logAnalyticsLogType: '$(testResultCoordinator.logAnalyticsLogType)' | ||
testResultCoordinator.verificationDelay: '$(testResultCoordinator.verificationDelay)' | ||
testResultCoordinator.storageAccountConnectionString: '$(EdgeConnectivityStorageAccountConnString)' | ||
metricsCollector.metricsEndpointsCSV: '$(metricsCollector.metricsEndpointsCSV)' | ||
metricsCollector.scrapeFrequencyInSecs: '$(metricsCollector.scrapeFrequencyInSecs)' | ||
metricsCollector.uploadTarget: '$(metricsCollector.uploadTarget)' | ||
metricsCollector.hostPlatform: 'linux_amd64_moby' | ||
edgeRuntime.buildNumber: '$(edgeRuntime.buildNumber)' | ||
customEdgeAgent.image: '$(customEdgeAgent.image)' | ||
customEdgeHub.image: '$(customEdgeHub.image)' | ||
test.runtimeLogLevel: '$(test.runtimeLogLevel)' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
trigger: none | ||
pr: none | ||
|
||
variables: | ||
images.artifact.name.linux: 'core-linux' | ||
vsts.project: $(System.TeamProjectId) | ||
# Variable defined in VSTS | ||
#azure.keyVault: '' | ||
#azure.subscription: '' | ||
#edgelet.package.build: <edglet package build id> | ||
#images.build: <images build id> | ||
#pool.name: '' | ||
#container.registry: '' | ||
#snitch.storage.account: '' | ||
# Variables settable at queue time | ||
#test.startDelay.arm | ||
#test.startDelay.amd | ||
#edgelet.package.branchName | ||
#images.branchName | ||
#loadGen.message.frequency.amd64: 'xx:xx:xx.xx' | ||
#loadGen.message.frequency.arm32v7: 'xx:xx:xx.xx' | ||
#loadGen.message.frequency.arm64v8: 'xx:xx:xx.xx' | ||
#run.linux.amd64.moby: 'true/false' | ||
#run.linux.arm32v7.moby: 'true/false' | ||
#run.linux.arm64v8.docker: 'true/false' | ||
#longhaul.desiredModulesToRestartCSV: '' | ||
#longhaul.restartIntervalInMins: '' | ||
#twinTester.twinUpdateSize: '' | ||
#twinTester.twinUpdateFrequency: 'xx:xx:xx.xx' | ||
#twinTester.twinUpdateFailureThreshold: 'xx:xx:xx.xx' | ||
#twinTester.edgeHubRestartFailureTolerance: 'xx:xx:xx.xx' | ||
#metricsCollector.metricsEndpointsCSV | ||
#metricsCollector.scrapeFrequencyInSecs: 'xx:xx:xx.xx' | ||
#metricsCollector.uploadTarget | ||
|
||
jobs: | ||
################################################################################ | ||
- job: linux_amd64_moby | ||
################################################################################ | ||
displayName: Linux AMD64 Moby | ||
condition: ne(variables['agent.group'], '') | ||
pool: | ||
name: $(pool.name) | ||
demands: | ||
- agent-group -equals $(agent.group) | ||
- Agent.OS -equals Linux | ||
- Agent.OSArchitecture -equals X64 | ||
- run-long-haul -equals true | ||
- nested-edge -equals L3 | ||
variables: | ||
edgelet.artifact.name: 'iotedged-ubuntu16.04-amd64' | ||
steps: | ||
- checkout: none | ||
- task: AzureKeyVault@1 | ||
displayName: 'Azure Key Vault' | ||
inputs: | ||
azureSubscription: $(azure.subscription) | ||
KeyVaultName: edgebuildkv | ||
SecretsFilter: 'edgebuilds-azurecr-io-username,edgebuilds-azurecr-io-pwd,StorageAccountMasterKeyStress,SnitchLongHaulAlertUrl,kvLogAnalyticWorkspaceId,kvLogAnalyticSharedKey' | ||
- task: AzureKeyVault@1 | ||
displayName: 'Azure Key Vault' | ||
inputs: | ||
azureSubscription: $(azure.subscription) | ||
KeyVaultName: edgebuildkv | ||
SecretsFilter: 'LongHaulNestedEdge-ConnectionString,LongHaulNestedEdge-EventHubConnectionString' | ||
- task: DownloadBuildArtifacts@0 | ||
displayName: 'Download Edgelet Artifacts' | ||
inputs: | ||
buildType: specific | ||
project: $(vsts.project) | ||
pipeline: $(edgelet.package.build) | ||
branchName: $(edgelet.package.branchName) | ||
buildVersionToDownload: latestFromBranch | ||
downloadPath: '$(Build.StagingDirectory)' | ||
artifactName: $(edgelet.artifact.name) | ||
- task: DownloadBuildArtifacts@0 | ||
displayName: 'Download Images Artifacts' | ||
inputs: | ||
buildType: specific | ||
project: $(vsts.project) | ||
pipeline: $(images.build) | ||
branchName: $(images.branchName) | ||
buildVersionToDownload: latestFromBranch | ||
downloadPath: '$(Build.StagingDirectory)' | ||
artifactName: $(images.artifact.name.linux) | ||
itemPattern: | | ||
$(images.artifact.name.linux)/IotEdgeQuickstart.linux-x64.tar.gz | ||
$(images.artifact.name.linux)/e2e_deployment_files/nested_long_haul_deployment.template.json | ||
$(images.artifact.name.linux)/scripts/linux/runE2ETest.sh | ||
$(images.artifact.name.linux)/artifactInfo.txt | ||
# Deploy long haul | ||
- template: templates/longhaul-deploy.yaml | ||
parameters: | ||
release.label: 'lh$(agent.group)' | ||
test.buildNumber: '$(Build.BuildNumber)' | ||
test.buildId: '$(Build.BuildId)' | ||
test.startDelay: '$(test.startDelay.amd)' | ||
build.source.branch: '$(Build.SourceBranchName)' | ||
edgelet.source.branch: '$(edgelet.package.branchName)' | ||
images.source.branch: '$(images.branchName)' | ||
edgelet.artifact.name: '$(edgelet.artifact.name)' | ||
images.artifact.name: '$(images.artifact.name.linux)' | ||
container.registry: '$(container.registry)' | ||
container.registry.username: '$(edgebuilds-azurecr-io-username)' | ||
container.registry.password: '$(edgebuilds-azurecr-io-pwd)' | ||
iotHub.connectionString: '$(LongHaulNestedEdge-ConnectionString)' | ||
eventHub.connectionString: '$(LongHaulNestedEdge-EventHubConnectionString)' | ||
snitch.build.number: '$(snitch.build.number)' | ||
snitch.alert.url: '$(SnitchLongHaulAlertUrl)' | ||
snitch.storage.account: '$(snitch.storage.account)' | ||
snitch.storage.masterKey: '$(StorageAccountMasterKeyStress)' | ||
loadGen.message.frequency: '$(loadGen.message.frequency.amd64)' | ||
longHaul.desiredModulesToRestartCSV: '$(longHaul.desiredModulesToRestartCSV)' | ||
longHaul.restartIntervalInMins: '$(longHaul.restartIntervalInMins)' | ||
test.runtimeLogLevel: '$(test.runtimeLogLevel)' | ||
analyzer.consumerGroupId: 'longhaul_linux_amd64' | ||
logAnalytics.workspaceId: '$(kvLogAnalyticWorkspaceId)' | ||
logAnalytics.sharedKey: '$(kvLogAnalyticSharedKey)' | ||
twinTester.twinUpdateSize: '$(twinTester.twinUpdateSize)' | ||
twinTester.twinUpdateFrequency: '$(twinTester.twinUpdateFrequency)' | ||
twinTester.twinUpdateFailureThreshold: '$(twinTester.twinUpdateFailureThreshold)' | ||
twinTester.edgeHubRestartFailureTolerance: '$(twinTester.edgeHubRestartFailureTolerance)' | ||
metricsCollector.metricsEndpointsCSV: '$(metricsCollector.metricsEndpointsCSV)' | ||
metricsCollector.scrapeFrequencyInSecs: '$(metricsCollector.scrapeFrequencyInSecs)' | ||
metricsCollector.uploadTarget: '$(metricsCollector.uploadTarget)' | ||
metricsCollector.hostPlatform: 'linux_amd64_moby' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
name: $(version) | ||
jobs: | ||
################################################################################ | ||
- job: linux_API_proxy_module | ||
################################################################################ | ||
displayName: linuxAPIProxy | ||
pool: | ||
vmImage: 'ubuntu-18.04' | ||
steps: | ||
- bash: | | ||
# Need to login to EdgeBuilds Container Registry for base images. | ||
docker login '$(build.registry.address)' --username '$(build.registry.user)' --password '$(build.registry.password)' | ||
docker login '$(registry.address)' --username '$(registry.user)' --password '$(registry.password)' | ||
displayName: 'Docker Login' | ||
# Build API Proxy executable | ||
- template: templates/build-api-proxy.yaml | ||
# Build API Proxy Image | ||
- template: templates/image-linux.yaml | ||
parameters: | ||
name: API Proxy | ||
imageName: api-proxy-module | ||
project: api-proxy-module | ||
# Check API proxy | ||
- task: ComponentGovernanceComponentDetection@0 | ||
inputs: | ||
dockerImagesToScan: '$(registry.address)/microsoft/api-proxy-module:$(Build.BuildNumber)-linux-amd64,$(registry.address)/microsoft/api-proxy-module:$(Build.BuildNumber)-linux-arm32v7,$(registry.address)/microsoft/api-proxy-module:$(Build.BuildNumber)-linux-arm64v8' | ||
|
||
################################################################################ | ||
- job: manifest | ||
################################################################################ | ||
displayName: Publish Manifest Images | ||
pool: | ||
vmImage: 'ubuntu-18.04' | ||
dependsOn: | ||
- linux_API_proxy_module | ||
steps: | ||
- script: scripts/linux/buildManifest.sh -r $(registry.address) -u $(registry.user) -p $(registry.password) -v $(Build.BuildNumber) -t $(System.DefaultWorkingDirectory)/edge-modules/api-proxy-module/docker/manifest.yaml.template -n microsoft --tags "$(tags)" | ||
displayName: 'Publish api-proxy-module Manifest' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.