-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL] Add guidelines for working on release branches #17042
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
b0b4984
1f05ac0
d3a51ea
46c917a
ee3ecc7
b6c6e84
fbd34e4
2a9a979
cdf5223
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Working on a release branch | ||
|
||
A "release branch" is defined as a branch whose name starts with `sycl-rel-` | ||
prefix. | ||
|
||
Those branches are intended to indicate stable snapshots of our product so that | ||
our users don't need to guess which nightly build is good enough for their | ||
needs. | ||
|
||
Therefore, those branches have higher quality requirements and as such have | ||
different contribution rules intended to preserve their stability. | ||
|
||
If you are not familiar with the [general contribution guidelines][contributing] | ||
or the [DPC++ specific contribution guidelines][contributing-to-dpcpp], please | ||
familiarize yourself with those documents first because they also apply to | ||
release branches. | ||
|
||
## Extra rules for release branches | ||
|
||
### Only cherry-picks are allowed | ||
|
||
It is assumed that everything you do on a release branch should also be | ||
repeated on the default `sycl` branch to ensure that it is automatically | ||
included into future releases. | ||
|
||
Therefore, when submitting a PR to a release branch, its description should | ||
contain a link to the corresponding PR in the default `sycl` branch. | ||
|
||
Note that it is not acceptable to first merge something into a | ||
release branch and then apply it to the default `sycl` branch. The flow goes in | ||
the opposite direction where you first land a patch to the default `sycl` branch | ||
and then backport it to a release branch. | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we add somewhere that if some failure is observed in pre-commit, author of PR should create an issue with specific tag indicating the release (if adding GH tag is not possible due to permissions, issue caption must have a tag in text format like [REL-***] There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suppose that rules about creating issues for release branches (and any special markup for them) should probably be documented elsewhere in a generic manner (i.e. even for those who do not contribute to release branches, but uses them). But I don't know what this place would be. Specifically for pre-commit issues observed at release branches, I would prefer to have stricter rules, i.e. it seems wrong to merge a PR with a new failure in a pre-commit into release branch |
||
### No new features are allowed | ||
|
||
Features are generally more complicated than bug fixes and may require further | ||
bug fixes as well. Considering that release branches are intended to be stable, | ||
no new features are allowed to be added there. | ||
|
||
[contributing]: https://github.com/intel/llvm/blob/sycl/CONTRIBUTING.md | ||
[contributing-to-dpcpp]: ./ContributeToDPCPP.md |
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we also mention a link to tag/branch?
sycl-rel-***
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't have that branch yet and in general case, we may not even know the next version in advance (i.e. whether it will be
X.Y+1
orX+1.0
)