Skip to content

Publish mobius releases through ESRP - #808

Merged
justinchuby merged 2 commits into
mainfrom
justinchuby-esrp-setup
Oct 29, 2026
Merged

justinchuby merged 2 commits into
mainfrom
justinchuby-esrp-setup

Conversation

@justinchuby

@justinchuby justinchuby commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add a 1ES Official release pipeline to build the wheel and sdist on v* tags or manual runs, verify distribution metadata, and check wheel installation.
  • Add an ESRP publish pipeline consuming the successful official build artifacts, using the supplied ESRPCodeSign managed-identity settings and AIFrameworks publisher.
  • Remove direct GitHub Actions PyPI publishing.

Implementation notes

  • Uses the public ONNX Script 1ES Official structure, as agreed; Olive's current OneBranch release YAML is not public.
  • Corrects the supplied endpoint to https://api.esrp.microsoft.com and limits the ESRP input to the downloaded distribution directory.

Validation

  • Parsed both pipeline YAML files and checked build/release wiring and all ESRP inputs against the supplied configuration.
  • Confirmed the direct GitHub PyPI publisher was removed and git diff --check passes.
  • Hosted template expansion and ESRP publication have not been run; Azure DevOps pipelines, resource permissions, production environment checks, and ESRP package authorization still require provisioning.

Add 1ES Official build and publish pipelines using the configured ESRP managed identity and AIFrameworks publisher. Consume the successful official build artifacts instead of rebuilding for publication.

Remove direct GitHub PyPI publishing and document Azure DevOps onboarding, authorization, approvals, and release procedures.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>
@justinchuby
justinchuby requested review from a team and a balanced review from Copilot October 29, 2026 19:27
@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Performance Comparison

Comparing 0cc842f3 → c13b8180

Model Metric Baseline Current Delta
bert (feature-extraction) model_size_bytes 359 KB 359 KB +0.0% ⚪
bert (feature-extraction) num_nodes 68 68 +0.0% ⚪
falcon model_size_bytes 364 KB 364 KB +0.0% ⚪
falcon num_nodes 66 66 +0.0% ⚪
gemma2 model_size_bytes 428 KB 428 KB +0.0% ⚪
gemma2 num_nodes 105 105 +0.0% ⚪
gpt2 model_size_bytes 324 KB 324 KB +0.0% ⚪
gpt2 num_nodes 54 54 +0.0% ⚪
llama model_size_bytes 425 KB 425 KB +0.0% ⚪
llama num_nodes 60 60 +0.0% ⚪
llama (static-cache) model_size_bytes 425 KB 425 KB +0.0% ⚪
llama (static-cache) num_nodes 56 56 +0.0% ⚪
mamba (ssm-text-generation) model_size_bytes 296 KB 296 KB +0.0% ⚪
mamba (ssm-text-generation) num_nodes 94 94 +0.0% ⚪
phi3 model_size_bytes 421 KB 421 KB +0.0% ⚪
phi3 num_nodes 58 58 +0.0% ⚪
phi3 (static-cache) model_size_bytes 421 KB 421 KB +0.0% ⚪
phi3 (static-cache) num_nodes 54 54 +0.0% ⚪
qwen2 model_size_bytes 425 KB 425 KB +0.0% ⚪
qwen2 num_nodes 60 60 +0.0% ⚪
qwen2 (static-cache) model_size_bytes 425 KB 425 KB +0.0% ⚪
qwen2 (static-cache) num_nodes 56 56 +0.0% ⚪
qwen3_5_moe (hybrid-text-generation) model_size_bytes 506 KB 506 KB +0.0% ⚪
qwen3_5_moe (hybrid-text-generation) num_nodes 269 269 +0.0% ⚪
qwen3_5_text (hybrid-text-generation) model_size_bytes 458 KB 458 KB +0.0% ⚪
qwen3_5_text (hybrid-text-generation) num_nodes 131 131 +0.0% ⚪
qwen3_5_vl (hybrid-qwen-vl) model_size_bytes 977 KB 977 KB +0.0% ⚪
qwen3_5_vl (hybrid-qwen-vl) num_nodes 461 461 +0.0% ⚪
t5 (seq2seq) model_size_bytes 836 KB 836 KB +0.0% ⚪
t5 (seq2seq) num_nodes 176 176 +0.0% ⚪
whisper (speech-to-text) model_size_bytes 1008 KB 1008 KB +0.0% ⚪
whisper (speech-to-text) num_nodes 128 128 +0.0% ⚪

No performance regressions.

Keep the ESRP pull request focused on pipeline configuration as requested.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Private 1ES template expansion, artifact handoff, production approval enforcement, and ESRP/PyPI authorization remain unvalidated and require an end-to-end Azure DevOps release check before cutover.

No open issues 🎉

What changed in this PR

Moves mobius-onnx release publishing from GitHub Actions to Azure DevOps, using 1ES Official pipelines to build distributions and ESRP to publish them to PyPI.

Changes:

  • Adds tag-triggered and manual release builds with distribution metadata and wheel installation checks.
  • Adds an ESRP publishing pipeline that consumes release artifacts behind production environment checks.
  • Removes direct GitHub Actions publishing and documents provisioning, authorization, and release procedures.

Hosted template expansion and ESRP publication remain unvalidated pending Azure DevOps provisioning.

File Description
CONTRIBUTING.md Documents Azure DevOps setup, permissions, and release procedures.
.github/​workflows/​publish.yml Removes direct PyPI publishing through GitHub Actions.
.azure-pipelines/​release.yml Builds, validates, and stages wheel and source distributions.
.azure-pipelines/​publish.yml Submits release artifacts to ESRP after production environment checks.

Review effort: Balanced

@justinchuby
justinchuby merged commit 7f61c0d into main Oct 29, 2026
23 checks passed
@justinchuby
justinchuby deleted the justinchuby-esrp-setup branch October 29, 2026 19:41
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.

2 participants