Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#48,395 0 条评论 2 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@JennyPng 已经在做这个了。

开始于 2026年8月1日。

评估

这个 Issue 还没有评估数据。

描述

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.

主要语言
Python
星标
5.6k
派生
3.4k
平均合并
2 天 13 小时
30 天内合并 PR
213

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Azure/azure-sdk-for-python 的其他 Issue

查看 Azure/azure-sdk-for-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。