Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

save-package-properties runs twice per build job, costing ~50s per PR build

Đang mở
#48,395 0 bình luận 2 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@JennyPng đang làm issue này rồi.

Từ ngày 1/8/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

EngSys

eng/pipelines/templates/steps/build-package-artifacts.yml invokes save-package-properties.yml twice: at line 91 (before the daily-dev version is applied) and again at line 102, after set-dev-build.yml.

set-dev-build.yml gates the actual version update on SetDevVersion, which daily-dev-build-variable.yml only sets to true when Build.Reason == 'Schedule' and System.TeamProject == 'internal'. The second save-package-properties invocation has no such gate, so on PR builds it appears to re-run after nothing has changed.

Measured

Build 6647478 (python - pullrequest, definition 7050) runs it twice in each of three jobs:

Job durations apparently redundant
Build_Linux 21.6s, 15.3s 15.3s
Build_MacOS 17.9s, 13.4s 13.4s
Build_Windows 58.0s, 21.2s 21.2s

Roughly 50s of agent time per PR build, though spread across parallel jobs, so the wall-clock impact depends on which job is on your critical path.

Caveat

I am inferring the redundancy from the conditional structure and the timeline data, not from knowledge of this repo. If the second call has a side effect I'm not seeing on PR builds, please close this out — I'd rather be corrected than have you carry a bogus issue.

Fix path

save-package-properties.yml has no Condition parameter, and it lives under eng/common/, which is synced from Azure/azure-sdk-tools. SetDevVersion is a runtime variable, so a compile-time ${{ if }} won't work either.

Azure/azure-sdk-tools#16640 proposes adding a Condition parameter (precedent exists — verify-readme.yml and verify-changelog.yml already take one). Once that lands, the change here would be to gate the second invocation on eq(variables['SetDevVersion'], 'true').

How this was found

While measuring CI step timings in azure-sdk-for-js, we found the same double-invocation in our build.yml (~30s per PR build, tracked in Azure/azure-sdk-for-js#39484). Checking whether the pattern was shared turned up the same structure here, so I verified it against your build timelines. Data came from the public ADO API, which is readable without auth for the azure-sdk/public project.

Filed by GitHub Copilot on behalf of @xirzec, from cross-repo CI measurement work. Happy to be told this is a non-issue.

Ngôn ngữ chính
Python
Star
5.6k
Fork
3.4k
Merge trung bình
2 ngày 13 giờ
Pull request đã merge (30 ngày)
213

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Azure/azure-sdk-for-python

Tất cả issue của Azure/azure-sdk-for-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.