Skip to content

ci: move unit tests to GitHub Actions and optimize Azure Pipelines - #1246

Draft
Carter Tinney (cartertinney) wants to merge 2 commits into
mainfrom
ct/ci
Draft

ci: move unit tests to GitHub Actions and optimize Azure Pipelines#1246
Carter Tinney (cartertinney) wants to merge 2 commits into
mainfrom
ct/ci

Conversation

@cartertinney

Copy link
Copy Markdown
Member

Thank you for helping us improve the Azure IoT Python SDK!

Checklist

  • I have read the contribution guidelines.
  • Existing test coverage and every test matrix leg are preserved.
  • No public API behavior is changed.

Reference/Link to the issue solved with this PR (if any)

N/A

Description of the problem

Portable checks currently run in Azure Pipelines alongside resource-dependent and Microsoft compliance jobs. This increases ADO usage and leaves several live-resource pipelines doing avoidable checkout, dependency download, provisioning, and duplicate-trigger work.

Description of the solution

  • Move Ruff and the unchanged Python 3.10-3.14 unit-test matrix to GitHub Actions.
  • Keep CodeQL, Component Governance, package publication, and all unique E2E matrices in ADO.
  • Add Dependabot updates for SHA-pinned GitHub Actions.
  • Cache uv downloads and skip unnecessary setup/cleanup checkouts in ADO.
  • Generate resource names without installing uuid.
  • Create consumer groups with bounded concurrency and run independent DPS/IoT Hub creation concurrently.
  • Use full existing matrix concurrency, migrate canary legs from retired Ubuntu 20.04, mask secret outputs, and remove environment dumps.
  • Scope Horton triggers to main pushes and PRs targeting main to avoid duplicate source-branch runs.

Resource deletion remains synchronous so pipeline success still confirms that Azure finished deleting the resource group.

Validation

  • Parsed all ADO and GitHub workflow YAML.
  • Syntax-checked modified inline Bash blocks with bash -n.
  • Mechanically verified that pytest commands and matrix legs are unchanged, except for the approved canary runner-image migration.
  • Ran Ruff and package builds locally.

This is a draft PR to evaluate CI correctness, queue behavior, and elapsed time before marking it ready for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant