pytorch - ✅(Solved) Fix [v.2.12.0] Release Tracker [1 pull requests, 2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
pytorch/pytorch#180506Fetched 2026-04-17 08:21:58
View on GitHub
Comments
2
Participants
2
Timeline
28
Reactions
0
Author
Participants
Timeline (top)
subscribed ×16cross-referenced ×3mentioned ×3commented ×2

Fix Action

Fixed

PR fix notes

PR #180504: Enable fetch-tags in checkout-pytorch to fix release tag detection

Description (problem / solution / changelog)

Summary

Release candidate builds triggered by tags (e.g. v2.12.0-rc1) are incorrectly producing dev nightly versions instead of RC versions.

The root cause is that #172544 added single-branch: true to the checkout-pytorch action when switching from actions/checkout@v4 to pytorch/test-infra/.github/actions/checkout@main. With single-branch: true, git restricts the fetch refspec and tags are no longer fetched — even with fetch-depth: 0.

This causes binary_populate_env.sh to fail at: git describe --tags --match 'v[0-9].[0-9].[0-9]*' --exact fatal: No names found, cannot describe anything.

and fall through to the dev version path, producing 2.12.0.dev20260415+cpu instead of 2.12.0+cpu.

The fix adds fetch-tags: true to both checkout steps (primary and retry) in the checkout-pytorch action, ensuring tags are explicitly fetched regardless of single-branch mode.

Failing build: https://github.com/pytorch/pytorch/actions/runs/24474783525/job/71524093912

Test plan

  • Verify that a workflow triggered by an RC tag (e.g. v2.12.0-rc1) correctly sets PYTORCH_BUILD_VERSION=2.12.0+cpu instead of 2.12.0.dev<date>+cpu
  • Verify that nightly builds on the nightly branch are unaffected (they should still produce dev versions)

Changed files

  • .github/actions/checkout-pytorch/action.yml (modified, +2/-0)

Code Example

# Find the hash of the commit you want to cherry pick
    # (for example, abcdef12345)
    git log

    git fetch origin release/2.12
    git checkout release/2.12
    git cherry-pick -x abcdef12345

    # Submit a PR based against 'release/2.11' either:
    # via the GitHub UI
    git push my-fork

    # via the GitHub CLI
    gh pr create --base release/2.12

---

@pytorchbot cherry-pick --onto release/2.12 -c docs

---

Link to landed trunk PR (if applicable):
* 

Link to release branch PR:
* 

Criteria Category:
*
RAW_BUFFERClick to expand / collapse

We cut a release branch for the 2.12.0 release.

Our plan from this point from this point is roughly:

  • Phase 1 (until 27/4/26): work on finalizing the release branch
  • Phase 2 (after 27/4/26): perform extended integration/stability/performance testing based on Release Candidate builds.

This issue is for tracking cherry-picks to the release branch.

Cherry-Pick Criteria

Phase 1 (until 27/4/26):

Only low-risk changes may be cherry-picked from main:

  1. Fixes to regressions against the most recent minor release (e.g. 2.11.x for this release; see module: regression issue list)
  2. Critical fixes for: silent correctness, backwards compatibility, crashes, deadlocks, (large) memory leaks
  3. Critical fixes to new features introduced in the most recent minor release (e.g. 2.11.x for this release)
  4. Test/CI fixes
  5. Documentation improvements
  6. Compilation fixes or ifdefs required for different versions of the compilers or third-party libraries
  7. Release branch specific changes (e.g. change version identifiers)

Any other change requires special dispensation from the release managers (currently @atalman, @malfet ). If this applies to your change please write "Special Dispensation" in the "Criteria Category:" template below and explain.

Phase 2 (after 27/4/26):

Note that changes here require us to rebuild a Release Candidate and restart extended testing (likely delaying the release). Therefore, the only accepted changes are Release-blocking critical fixes for: silent correctness, backwards compatibility, crashes, deadlocks, (large) memory leaks

Changes will likely require a discussion with the larger release team over VC or Slack.

Cherry-Pick Process

  1. Ensure your PR has landed in master. This does not apply for release-branch specific changes (see Phase 1 criteria).

  2. Create (but do not land) a PR against the release branch.

    <details>
    # Find the hash of the commit you want to cherry pick
    # (for example, abcdef12345)
    git log
    
    git fetch origin release/2.12
    git checkout release/2.12
    git cherry-pick -x abcdef12345
    
    # Submit a PR based against 'release/2.11' either:
    # via the GitHub UI
    git push my-fork
    
    # via the GitHub CLI
    gh pr create --base release/2.12

    You can also use the @pytorchbot cherry-pick command to cherry-pick your PR. To do this, just add a comment in your merged PR. For example:

    @pytorchbot cherry-pick --onto release/2.12 -c docs

    (-c docs - is the category of your changes - adjust accordingly):

    For more information, see pytorchbot cherry-pick docs.

    </details>
  3. Make a request below with the following format:

Link to landed trunk PR (if applicable):
* 

Link to release branch PR:
* 

Criteria Category:
*
  1. Someone from the release team will reply with approved / denied or ask for more information.
  2. If approved, someone from the release team will merge your PR once the tests pass. Do not land the release branch PR yourself.

NOTE: Our normal tools (ghstack / ghimport, etc.) do not work on the release branch.

Please note HUD Link with branch CI status and link to the HUD to be provided here. HUD

cc @seemethere @malfet @pytorch/pytorch-dev-infra

Versions

2.12.0

extent analysis

TL;DR

To track and manage cherry-picks to the release branch for the 2.12.0 release, follow the outlined cherry-pick criteria and process.

Guidance

  1. Review Cherry-Pick Criteria: Ensure that the change meets one of the specified criteria for either Phase 1 or Phase 2.
  2. Follow Cherry-Pick Process: Land the PR in master (if applicable), create a PR against the release branch, and request approval from the release team using the provided format.
  3. Use Provided Tools and Commands: Utilize git cherry-pick or @pytorchbot cherry-pick command to cherry-pick changes, and follow the instructions for submitting a PR against the release branch.
  4. Wait for Approval and Merge: Allow the release team to review, approve, and merge the PR once tests pass.

Example

To cherry-pick a commit, use the following command:

git cherry-pick -x <commit_hash>

Replace <commit_hash> with the actual hash of the commit you want to cherry-pick.

Notes

The normal tools (ghstack / ghimport, etc.) do not work on the release branch, so follow the specified process for cherry-picking and merging changes.

Recommendation

Apply the outlined cherry-pick process and criteria to ensure that changes are properly reviewed, approved, and merged into the release branch. This will help maintain the stability and quality of the 2.12.0 release.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

pytorch - ✅(Solved) Fix [v.2.12.0] Release Tracker [1 pull requests, 2 comments, 2 participants]