Skip to content

Commit cce5dac

Browse files
[SYCL] Add guidelines for working on release branches (#17042)
1 parent 7d24be9 commit cce5dac

File tree

4 files changed

+90
-0
lines changed

4 files changed

+90
-0
lines changed

sycl/ReleaseNotes.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# Release notes for an upcoming release (dates TBD)
2+
3+
## New Features
4+
5+
- Added support for ... intel/llvm#pr
6+
7+
## Improvements
8+
9+
- Improved handling of ... intel/llvm#pr
10+
11+
## Bug Fixes
12+
13+
- Fixed ... intel/llvm#pr
14+
15+
## Misc
16+
17+
- Did this and that ... intel/llvm#pr
18+
119
# Release notes Nov'24
220

321
Release notes for commit range

sycl/doc/developer/ContributeToDPCPP.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,36 @@ For any DPC++-related commit, the `[SYCL]` tag should be present in the
3737
commit message title. To a reasonable extent, additional tags can be used
3838
to signify the component changed, e.g.: `[UR]`, `[CUDA]`, `[Doc]`.
3939

40+
## Release notes
41+
42+
You are encouraged to record your change into
43+
[release notes](https://github.com/intel/llvm/blob/sycl/sycl/ReleaseNotes.md)
44+
under "Release notes for an upcoming release" section.
45+
46+
A change should be noted there when:
47+
48+
- A public interface (API, command line options, env variables, etc.) is being
49+
changed
50+
- A bug is being fixed
51+
- Any change is being made which has an observable behavior (including
52+
performance)
53+
54+
A change should **not** be noted there when:
55+
56+
- It has no functional or performance impact
57+
- It is about our CI infrastructure, testing infrastructure, or tests
58+
59+
There are no strict guidelines on how to structure release notes, but for
60+
consistency it is better to follow the existing structure minimal changes. The
61+
structure we have been using so far is split by change type (i.e. new
62+
features and bug fixes) and then sub-split by component (i.e. compiler,
63+
runtime). Please use past tense when describing your change and leave a
64+
reference to your PR using `intel/llvm#NNNNN` syntax. If you want to reference
65+
an in-tree document (like an extension spec, for example), it must be
66+
referenced using a permalink so that it stays actual even if document is moved.
67+
68+
When in doubt, you can always ask reviewers for help/guidance/suggestions.
69+
4070
## Using \<iostream\>
4171

4272
According to
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Working on a release branch
2+
3+
A "release branch" is defined as a branch whose name starts with `sycl-rel-`
4+
prefix.
5+
6+
Those branches are intended to indicate stable snapshots of our product so that
7+
our users don't need to guess which nightly build is good enough for their
8+
needs.
9+
10+
Therefore, those branches have higher quality requirements and as such have
11+
different contribution rules intended to preserve their stability.
12+
13+
If you are not familiar with the [general contribution guidelines][contributing]
14+
or the [DPC++ specific contribution guidelines][contributing-to-dpcpp], please
15+
familiarize yourself with those documents first because they also apply to
16+
release branches.
17+
18+
## Extra rules for release branches
19+
20+
### Only cherry-picks are allowed
21+
22+
It is assumed that everything you do on a release branch should also be
23+
repeated on the default `sycl` branch to ensure that it is automatically
24+
included into future releases.
25+
26+
Therefore, when submitting a PR to a release branch, its description should
27+
contain a link to the corresponding PR in the default `sycl` branch.
28+
29+
Note that it is not acceptable to first merge something into a
30+
release branch and then apply it to the default `sycl` branch. The flow goes in
31+
the opposite direction where you first land a patch to the default `sycl` branch
32+
and then backport it to a release branch.
33+
34+
### No new features are allowed
35+
36+
Features are generally more complicated than bug fixes and may require further
37+
bug fixes as well. Considering that release branches are intended to be stable,
38+
no new features are allowed to be added there.
39+
40+
[contributing]: https://github.com/intel/llvm/blob/sycl/CONTRIBUTING.md
41+
[contributing-to-dpcpp]: ./ContributeToDPCPP.md

sycl/doc/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,4 @@ Developer Documentation
6767
developer/ABIPolicyGuide
6868
developer/ContributeToDPCPP
6969
developer/KHRExtensions
70+
developer/WorkingOnAReleaseBranch

0 commit comments

Comments
 (0)