Skip to content

Commit 2dad519

Browse files
authored
Document how to make a commit available (#1982)
1 parent 2c6dc9b commit 2dad519

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

.github/ISSUE_TEMPLATE/releases/release_checklist.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
- `/smoke-testNuGet.Config`
118118
- Do not remove from subrepos. The build infra removes these sources automatically while modifying each subrepo nuget.config file.
119119
1. - [ ] [Internal] Push the servicing branch to your GitHub fork and submit a source-build PR.
120+
1. - [ ] [Internal] If a build hits `fatal: reference is not a tree: cb5f173b`, [make the commit available on a fork and switch to it temporarily](https://github.com/dotnet/source-build/tree/release/3.1/Documentation/servicing/make-commit-available.md).
120121
1. - [ ] [Internal] Add source-build team as reviewers.
121122
1. - [ ] [Internal] When CI is green and two reviewers approve, merge.
122123
- Avoid squash/rebase: nice to preserve commit hashes. However, there are no known dependencies on *source-build* commits being preserved.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## Making a commit that exists on a repo network available to source-build
2+
3+
On release day, there might be errors like this:
4+
5+
```
6+
fatal: reference is not a tree: cb5f173b9696d9d00a544b953d95190ab3b56df2
7+
```
8+
9+
```
10+
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
11+
```
12+
13+
To unblock this:
14+
15+
1. Go to your fork of the corresponding GitHub repo, e.g. https://github.com/dagood/runtime
16+
1. Add `/tree/{commit}` to the URL, e.g. https://github.com/dagood/runtime/tree/cb5f173b9696d9d00a544b953d95190ab3b56df2
17+
* If the commit isn't available, then it hasn't been made public yet and the release is blocked.
18+
1. Click the branch dropdown.
19+
1. Type in a name for a branch to create, e.g. `release/5.0.2`
20+
* The name doesn't matter, a branch just needs to exist.
21+
1. Press Enter to create the branch.
22+
1. Edit the repo's URI in `Version.Details.xml` to use your fork, e.g. https://github.com/dagood/runtime
23+
1. CI should now get past this point.
24+
* It may fail on another repo if multiple haven't been tagged properly.
25+
1. ...Later, check the commit's availability in the non-fork repo, and switch the URI back to the official repository when possible.
26+
27+
This is intended to temporarily unblock CI so it can continue to validate the build and flush out further problems. The commit's unavailability on the official repo should also be communicated to the release team so it can be fixed as soon as possible.

0 commit comments

Comments
 (0)