Skip to content

Development in Github

Yi Zhang edited this page Jun 19, 2023 · 4 revisions

Development Guidance

  • Members of the onnxruntime team should preferably use feature branches for their development workflow; forks are ok as well but won't trigger automatic builds. If you do end up submitting a PR from a fork, please follow the steps outlined below to trigger a build manually.
  • All PRs require at least one reviewer from the 'onnxruntime' team to approve the request.
    • PRs to a release branch (prefixed rel-) require 2 approvals.
    • PRs to the gh-pages branch require approval from an admin or maintainer and can only be merged by members of those groups.
  • You can add 'onnxruntime' team as a reviewer if you want to open reviews to the whole team
  • Branches are deleted automatically after a PR is merged.
  • Merges must be done manually once all checks have passed.
  • Enable codeflow with github - http://codeflow/content/workflows-github-pullrequest.html

Continuous Integration

Each pull request requires 25 CI builds. These tests are automatically triggered for PRs from branches in onnxruntime. For forks and for non-onnxruntime team members, these need to be manually triggered. See below: Manually Triggering Builds

Required

  1. Windows GPU CI Pipeline
  2. Linux CPU CI Pipeline
  3. Linux CPU Minimal Build E2E CI Pipeline
  4. Linux CPU x64 NoContribops CI Pipeline
  5. Linux GPU CI Pipeline
  6. Linux GPU TensorRT CI Pipeline
  7. Linux OpenVINO CI Pipeline
  8. MacOS CI Pipeline
  9. MacOS NoContribops CI Pipeline
  10. Windows CPU CI Pipeline
  11. Windows GPU TensorRT CI Pipeline
  12. centos7_cpu
  13. orttraining-linux-ci-pipeline
  14. orttraining-linux-gpu-ci-pipeline 

Optional

  1. Android CI Pipeline
  2. Linux DNNL CI Pipeline
  3. iOS CI Pipeline
  4. orttraining-win-ci-pipeline
  5. orttraining-win-gpu-ci-pipeline
  6. orttraining-mac-ci-pipeline

Manually Triggering Builds

The easiest way to manually trigger builds is through comment triggers. This step can only be performed by a member of the onnxruntime team.

Comment Triggers

To trigger: type the below as a comment in the PR. There is a max of 10 pipelines per comment trigger so you will need to split these up into multiple comments to cover all required pipelines.

/azp run Windows GPU CI Pipeline, Linux CPU CI Pipeline, Linux CPU Minimal Build E2E CI Pipeline, Linux CPU x64 NoContribops CI Pipeline, Linux GPU CI Pipeline, Linux GPU TensorRT CI Pipeline, Linux OpenVINO CI Pipeline, MacOS CI Pipeline, MacOS NoContribops CI Pipeline, Windows CPU CI Pipeline

/azp run Windows GPU TensorRT CI Pipeline, centos7_cpu, orttraining-linux-ci-pipeline, orttraining-linux-gpu-ci-pipeline, Android CI Pipeline, Linux DNNL CI Pipeline, iOS CI Pipeline, orttraining-win-ci-pipeline, orttraining-win-gpu-ci-pipeline, orttraining-mac-ci-pipeline

Manual Triggers

In some cases comment triggers may get stuck or not work correctly. If this happens: 1. Go to https://dev.azure.com/onnxruntime/onnxruntime/_build and select the pipeline to manually trigger 2. Click on "Run Pipeline" on the top right. 3. In the "Branch/tag" text box, enter "refs/pull//head". For e.g. "refs/pull/20/head". 4. Click Run.