Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c0f3ffb
Introducing IoT Hub dataplane RBAC support + various improvements (#341)
digimaun May 17, 2021
624d849
Iotc command versioning (#340)
valluriraj May 17, 2021
4bf999a
Add warning for qos deprecation and update contributing guide (#342)
avagraw May 18, 2021
b45c7f5
Integrate TQDM to show progress bar when simulator sends d2c messages
avagraw May 18, 2021
72df955
remove unused loop varable
avagraw May 18, 2021
1714e84
Update progress bar descriptionb
avagraw May 18, 2021
43160ec
Merge remote-tracking branch 'other/device_client_integration' into d…
avagraw May 20, 2021
b268dbe
Iotc command ga (#348)
valluriraj May 24, 2021
a4baacb
Use enum value instead of literal str. (#349)
digimaun May 25, 2021
79bf6cb
Managed identity support for device-identity import and export (#344)
c-ryan-k May 25, 2021
616e2c0
Update azext_metadata.json (#351)
digimaun May 25, 2021
9ee1ddc
Increment version to v0.10.13
digimaun May 25, 2021
3f12f21
Update README.md
digimaun May 25, 2021
058648a
Update HISTORY.rst
digimaun May 25, 2021
5a251d9
update twin reported properties during simulation
avagraw May 27, 2021
70f806f
update unit tests
avagraw May 27, 2021
759503a
Add dataplane reset (#352)
vilit1 May 27, 2021
f4333a9
styling updates
avagraw May 27, 2021
f82ef12
C2D messaging improvements. (#354)
digimaun May 27, 2021
48af558
Digital Twin wait commands (#345)
vilit1 May 27, 2021
354a98d
Add Identity Storage Account ID param to sentinel values (#355)
c-ryan-k May 28, 2021
0e983b8
Using SDK Listener for Twin properties update
avagraw Jun 1, 2021
21e2370
Merge remote-tracking branch 'upstream/device_client_integration' int…
avagraw Jun 1, 2021
b498a60
Module identity renew key (#356)
vilit1 Jun 1, 2021
72fa744
Update README.md
digimaun Jun 1, 2021
e9f8803
merge from remote
avagraw Jun 1, 2021
2ef0a41
Pipeline updates (#359)
c-ryan-k Jun 1, 2021
3b1ded1
Merge remote-tracking branch 'upstream/device_client_integration' int…
avagraw Jun 2, 2021
d4fb875
Structured mqtt formatting and eliminate dependency on six
avagraw Jun 2, 2021
1e9ada4
remove indent property not needed any more
avagraw Jun 2, 2021
3170fd8
Check for conditionals before running test jobs (#363)
c-ryan-k Jun 2, 2021
bb3c5d9
Update d2c and simulate commands to return errors for non SaS devices…
avagraw Jun 3, 2021
acf59c0
Support C2D Message decoding and Add TQDM for HTTP simulation
avagraw Jun 5, 2021
e64f460
Update MQTT operations to run on web sockets
avagraw Jun 7, 2021
50e96a2
Merge remote-tracking branch 'upstream/device_client_integration' int…
avagraw Jun 7, 2021
773bfbb
Remove duplicate test already in dev branch
avagraw Jun 7, 2021
fecc2d8
Device connection is automatic now
avagraw Jun 7, 2021
260e273
Styling update
avagraw Jun 7, 2021
b72ebb3
Merge remote-tracking branch 'upstream/device_client_integration' int…
avagraw Jun 10, 2021
c7e0896
Merging changes from dev branch
avagraw Jun 10, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 37 additions & 14 deletions .azure-devops/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,28 @@ pr: none

trigger: none

variables:
pythonVersion: '3.6.x'
architecture: 'x64'
parameters:
- name: pythonVersion
type: string
default: '3.6.x'
values:
- 3.6.x
- 3.9.x
- name: architecture
type: string
default: 'x64'
- name: 'testCentral'
type: boolean
default: true
- name: 'testADT'
type: boolean
default: true
- name: 'testDPS'
type: boolean
default: true
- name: 'testHub'
type: boolean
default: true

stages:
- stage: 'build'
Expand All @@ -13,27 +32,27 @@ stages:

- job: 'Build_Publish_Azure_IoT_CLI_Extension'
pool:
vmImage: 'Ubuntu-16.04'
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
inputs:
versionSpec: $(pythonVersion)
architecture: $(architecture)
versionSpec: ${{ parameters.pythonVersion }}
architecture: ${{ parameters.architecture }}

- template: templates/setup-ci-machine.yml

- template: templates/build-publish-azure-iot-cli-extension.yml

- job: 'Build_Publish_Azure_CLI_Test_SDK'
pool:
vmImage: 'Ubuntu-16.04'
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
inputs:
versionSpec: $(pythonVersion)
architecture: $(architecture)
versionSpec: ${{ parameters.pythonVersion }}
architecture: ${{ parameters.architecture }}

- template: templates/setup-ci-machine.yml

Expand All @@ -45,19 +64,20 @@ stages:
steps:
- template: templates/setup-dev-test-env.yml
parameters:
pythonVersion: $(pythonVersion)
architecture: $(architecture)
pythonVersion: ${{ parameters.pythonVersion }}
architecture: ${{ parameters.architecture }}

- template: templates/install-and-record-version.yml

- stage: 'test'
displayName: 'Run tests'
pool:
vmImage: 'Ubuntu-16.04'
vmImage: 'ubuntu-latest'
dependsOn: build
jobs:
- job: 'testCentral'
displayName: 'Test IoT Central'
condition: eq('${{ parameters.testCentral }}', true)
steps:
- template: templates/run-tests.yml
parameters:
Expand All @@ -66,6 +86,7 @@ stages:

- job: 'testADT'
displayName: 'Test Azure DigitalTwins'
condition: eq('${{ parameters.testADT }}', true)
steps:
- template: templates/run-tests.yml
parameters:
Expand All @@ -74,6 +95,7 @@ stages:

- job: 'testDPS'
displayName: 'Test DPS'
condition: eq('${{ parameters.testDPS }}', true)
steps:
- template: templates/run-tests.yml
parameters:
Expand All @@ -82,6 +104,7 @@ stages:

- job: 'testHub'
displayName: 'Test IoT Hub'
condition: eq('${{ parameters.testHub }}', true)
steps:
- template: templates/run-tests.yml
parameters:
Expand All @@ -105,8 +128,8 @@ stages:
steps:
- template: templates/calculate-code-coverage.yml
parameters:
pythonVersion: $(pythonVersion)
architecture: $(architecture)
pythonVersion: ${{ parameters.pythonVersion }}
architecture: ${{ parameters.architecture }}

- stage: 'release'
displayName: 'Stage GitHub release'
Expand Down
22 changes: 11 additions & 11 deletions .azure-devops/merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

- job: 'build_and_publish_azure_iot_cli_ext'
pool:
vmImage: 'Ubuntu-16.04'
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
Expand All @@ -31,7 +31,7 @@ jobs:

- job: 'build_and_publish_azure_cli_test_sdk'
pool:
vmImage: 'Ubuntu-16.04'
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
Expand All @@ -45,7 +45,7 @@ jobs:
- job: 'run_unit_tests_ubuntu'
dependsOn: [ 'build_and_publish_azure_iot_cli_ext', 'build_and_publish_azure_cli_test_sdk']
pool:
vmImage: 'Ubuntu-16.04'
vmImage: 'ubuntu-latest'
strategy:
matrix:
Python36:
Expand All @@ -62,8 +62,8 @@ jobs:
- template: templates/run-tests.yml
parameters:
pythonVersion: '$(python.version)'
runUnitTests: 'true'
runIntTests: 'false'
runUnitTests: true
runIntTests: false

- job: 'run_unit_tests_macOs'
dependsOn: ['build_and_publish_azure_iot_cli_ext', 'build_and_publish_azure_cli_test_sdk']
Expand All @@ -74,8 +74,8 @@ jobs:
- template: templates/run-tests.yml
parameters:
pythonVersion: '3.8.x'
runUnitTests: 'true'
runIntTests: 'false'
runUnitTests: true
runIntTests: false

- template: templates/calculate-code-coverage.yml

Expand All @@ -93,13 +93,13 @@ jobs:
- template: templates/run-tests.yml
parameters:
pythonVersion: '3.8.x'
runUnitTests: 'true'
runIntTests: 'false'
runUnitTests: true
runIntTests: false

- job: 'run_style_check'
dependsOn: ['build_and_publish_azure_iot_cli_ext', 'build_and_publish_azure_cli_test_sdk']
pool:
vmImage: 'Ubuntu-16.04'
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
Expand All @@ -124,7 +124,7 @@ jobs:
dependsOn: ['build_and_publish_azure_iot_cli_ext']
displayName: 'Evaluate IoT extension command table'
pool:
vmImage: 'Ubuntu-16.04'
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
Expand Down
88 changes: 88 additions & 0 deletions .azure-devops/nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Run nightly at midnight.
schedules:
- cron: "0 0 * * *"
displayName: Nightly Integration Build
branches:
include:
- dev

variables:
pythonVersion: '3.6.x'
architecture: 'x64'

stages:
- stage: 'build'
displayName: 'Build and Publish Artifacts'
jobs:

- job: 'Build_Publish_Azure_IoT_CLI_Extension'
pool:
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
inputs:
versionSpec: $(pythonVersion)
architecture: $(architecture)

- template: templates/setup-ci-machine.yml

- template: templates/build-publish-azure-iot-cli-extension.yml

- job: 'Build_Publish_Azure_CLI_Test_SDK'
pool:
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
inputs:
versionSpec: $(pythonVersion)
architecture: $(architecture)

- template: templates/setup-ci-machine.yml

- template: templates/build-publish-azure-cli-test-sdk.yml

- job: 'recordVersion'
displayName: 'Install and verify version'
dependsOn: [Build_Publish_Azure_IoT_CLI_Extension, Build_Publish_Azure_CLI_Test_SDK]
steps:
- template: templates/setup-dev-test-env.yml
parameters:
pythonVersion: $(pythonVersion)
architecture: $(architecture)

- template: templates/install-and-record-version.yml

- stage: 'test'
displayName: 'Run all tests'
pool:
vmImage: 'ubuntu-latest'
dependsOn: build
jobs:
- job: 'azEdge'
displayName: 'Test against edge AZ CLI'
steps:
- template: templates/nightly-tests.yml
parameters:
azureCLIVersion: 'edge'
- job: 'azMin'
dependsOn: 'azEdge'
displayName: 'Test against minimum supported AZ CLI'
steps:
- template: templates/nightly-tests.yml
parameters:
azureCLIVersion: 'min'

- stage: 'kpi'
displayName: 'Build KPIs'
dependsOn: [build, test]
jobs:
- job: 'calculateCodeCoverage'
displayName: 'Calculate distributed code coverage'
steps:
- template: templates/calculate-code-coverage.yml
parameters:
pythonVersion: $(pythonVersion)
architecture: $(architecture)

14 changes: 14 additions & 0 deletions .azure-devops/templates/install-azure-cli-min.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
steps:
- task: PythonScript@0
displayName: 'Check minimum supported version of Azure CLI'
inputs:
scriptSource: 'inline'
script: |
import json
with open("$(System.DefaultWorkingDirectory)/azext_iot/azext_metadata.json") as f:
metadata = json.load(f)
version = metadata['azext.minCliCoreVersion']
print('##vso[task.setvariable variable=min_cli_version]{}'.format(version))
- bash: |
pip install azure-cli==$(min_cli_version)
displayName: "Install minimum supported CLI version"
55 changes: 55 additions & 0 deletions .azure-devops/templates/nightly-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
parameters:
- name: pythonVersion
type: string
default: '3.6.x'
- name: architecture
type: string
default: 'x64'
- name: azureCLIVersion
type: string
default: released
values:
- min
- released
- edge

steps:
- template: setup-dev-test-env.yml
parameters:
architecture: ${{ parameters.architecture }}
pythonVersion: ${{ parameters.pythonVersion }}
azureCLIVersion: ${{ parameters.azureCLIVersion }}

- template: set-testenv-sentinel.yml

- script: |
pytest -vv azext_iot/tests -k "_unit" --cov=azext_iot --cov-config .coveragerc --junitxml=junit/test-iotext-unit.xml
displayName: 'All unit tests'
env:
COVERAGE_FILE: .coverage.all

- task: AzureCLI@2
continueOnError: true
displayName: 'All integration tests'
inputs:
azureSubscription: az-cli-nightly
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
export COVERAGE_FILE=.coverage.all
pytest -vv azext_iot/tests -k "_int" --cov=azext_iot --cov-config .coveragerc --junitxml=junit/test-iotext-int.xml

- task: PublishBuildArtifacts@1
inputs:
pathToPublish: .coverage.all
publishLocation: 'Container'
artifactName: 'coverage'

- task: PublishTestResults@2
condition: succeededOrFailed()
displayName: 'Publish Test Results'
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '**/test-*.xml'
testRunTitle: 'Publish test results for Python ${{ parameters.pythonVersion }} on OS $(Agent.OS)'
searchFolder: '$(System.DefaultWorkingDirectory)'
Loading