jobs:
- job: "build_linux_amd64"
  pool:
    vmImage: 'ubuntu-20.04'
  strategy:
    matrix:
      py38: { variant: py38 }
      py37: { variant: py37 }
      py39: { variant: py39 }
  steps:
  - template: steps-build-docker-image.yaml
    parameters:
      variant: $(variant)

- job: "test_linux_amd64"
  pool:
      vmImage: 'ubuntu-20.04'
  dependsOn:
    - "build_linux_amd64"
  strategy:
    matrix:
        py38_mqtt_iothub_module_and_device:         { suite: py38_mqtt_iothub_module_and_device }
        py38_mqttws_async_edgehub_module:           { suite: py38_mqttws_async_edgehub_module }
        py37_mqtt_edgehub_module:                   { suite: py37_mqtt_edgehub_module }
        py37_mqttws_async_iothub_module_and_device: { suite: py37_mqttws_async_iothub_module_and_device }
        py39_mqtt_async_edgehub_module:             { suite: py39_mqtt_async_edgehub_module }
        py39_mqtt_async_iothub_module_and_device:   { suite: py39_mqtt_async_iothub_module_and_device }
        py38_mqtt_iothub_module_quick_drop:         { suite: py38_mqtt_iothub_module_quick_drop }
        py37_mqtt_edgehub_module_quick_drop:        { suite: py37_mqtt_edgehub_module_quick_drop }
        py39_mqtt_iothub_device_quick_drop:         { suite: py39_mqtt_iothub_device_quick_drop }

  steps:
  - template: steps-deploy-and-run-pytest.yaml
    parameters:
      suite: $(suite)

