Skip to content

Commit 63b2911

Browse files
authored
[Docs] Update documentation for the new GitHub workflow (#65162)
This adds first version of a GitHub workflow in the documentation and marks some sections as deprecated. We should clean up these sections ASAP. I was just keen to get something on the documentation site as soon as possible.
1 parent 930916c commit 63b2911

File tree

8 files changed

+224
-78
lines changed

8 files changed

+224
-78
lines changed

llvm/docs/CodeReview.rst

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,8 @@ author, for example, might no longer be an active contributor to the project.
7878
What Tools Are Used for Code Review?
7979
------------------------------------
8080

81-
Pre-commit code reviews are conducted on our web-based code-review tool (see
82-
:doc:`Phabricator`). Post-commit reviews can be done on Phabricator, by email
83-
on the relevant project's commit mailing list, on the project's development
84-
list, or on the bug tracker.
81+
Pre-commit code reviews are conducted on GitHub with Pull Requests. See
82+
:ref:`GitHub <github-reviews>` documentation.
8583

8684
When Is an RFC Required?
8785
------------------------
@@ -147,12 +145,6 @@ approved. If unsure, the reviewer should provide a qualified approval, (e.g.,
147145
you are fairly certain that a particular community member will wish to review,
148146
even if that person hasn't done so yet.
149147

150-
If you approve of the idea/concept of a patch but feel unqualified to approve,
151-
another option (other than accepting the patch) is to simply *"Award Token"*
152-
(right-hand side in Phabricator) to indicate support without indicating to
153-
other reviewers that the patch has been accepted and reviewed in their
154-
dashboard.
155-
156148
Note that, if a reviewer has requested a particular community member to review,
157149
and after a week that community member has yet to respond, feel free to ping
158150
the patch (which literally means submitting a comment on the patch with the

llvm/docs/Contributing.rst

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -88,17 +88,17 @@ in order to update the last commit with all pending changes.
8888
the git integration can be run from
8989
``clang/tools/clang-format/git-clang-format``.
9090

91-
We don't currently accept GitHub pull requests, and you'll need to send patches
92-
via :ref:`Phabricator#phabricator-reviews <phabricator-reviews>`.
93-
(We used to allow patches on the llvm-commits mailing list, but the mailing lists
94-
have been deprecated.)
91+
The LLVM project has migrated to GitHub Pull Requests as its review process.
92+
We still have an active :ref:`Phabricator <phabricator-reviews>`
93+
instance for the duration of the migration. If you want to contribute to LLVM
94+
now, please use GitHub. For more information about the workflow of using GitHub
95+
Pull Requests see our :ref:`GitHub <github-reviews>` documentation.
9596

9697
To make sure the right people see your patch, please select suitable reviewers
9798
and add them to your patch when requesting a review. Suitable reviewers are the
9899
code owner (see CODE_OWNERS.txt) and other people doing work in the area your
99-
patch touches. If you are using Phabricator, add them to the `Reviewers` field
100-
when creating a review and if you are using `llvm-commits`, add them to the CC of
101-
your email.
100+
patch touches. Github will normally suggest some reviewers based on rules or
101+
people that have worked on the code before.
102102

103103
A reviewer may request changes or ask questions during the review. If you are
104104
uncertain on how to provide test cases, documentation, etc., feel free to ask
@@ -110,8 +110,7 @@ access, please let people know during the review and someone should commit it
110110
on your behalf.
111111

112112
If you have received no comments on your patch for a week, you can request a
113-
review by 'ping'ing a patch by responding to the email thread containing the
114-
patch, or the Phabricator review with "Ping." The common courtesy 'ping' rate
113+
review by 'ping'ing the GitHub PR with "Ping." The common courtesy 'ping' rate
115114
is once a week. Please remember that you are asking for valuable time from other
116115
professional developers.
117116

@@ -122,28 +121,9 @@ For more information on LLVM's code-review process, please see :doc:`CodeReview`
122121
For developers to commit changes from Git
123122
-----------------------------------------
124123

125-
Once a patch is reviewed, you should rebase it, re-test locally, and commit the
126-
changes to LLVM's main branch. This is done using `git push` if you have the
127-
required access rights. See `committing a change
128-
<Phabricator.html#committing-a-change>`_ for Phabricator based commits or
129-
`obtaining commit access <DeveloperPolicy.html#obtaining-commit-access>`_
130-
for commit access.
131-
132-
Here is an example workflow using git. This workflow assumes you have an
133-
accepted commit on the branch named `branch-with-change`.
134-
135-
.. code-block:: console
136-
137-
# Pull changes from the upstream main branch.
138-
% git checkout main && git pull
139-
# Rebase your change onto main.
140-
% git rebase --onto main --root branch-with-change
141-
# Rerun the appropriate tests if needed.
142-
% ninja check-$whatever
143-
# Check that the list of commits about to be pushed is correct.
144-
% git log origin/main...HEAD --oneline
145-
# Push to Github.
146-
% git push origin HEAD:main
124+
Once a patch is reviewed, you can select the "Squash and merge" button in the
125+
GitHub web interface. You might need to rebase your change before pushing
126+
it to the repo.
147127

148128
LLVM currently has a linear-history policy, which means that merge commits are
149129
not allowed. The `llvm-project` repo on github is configured to reject pushes
@@ -201,5 +181,6 @@ of LLVM's high-level design, as well as its internals:
201181
.. _bug tracker: https://github.com/llvm/llvm-project/issues
202182
.. _clang-format-diff.py: https://reviews.llvm.org/source/llvm-github/browse/main/clang/tools/clang-format/clang-format-diff.py
203183
.. _git-clang-format: https://reviews.llvm.org/source/llvm-github/browse/main/clang/tools/clang-format/git-clang-format
204-
.. _LLVM's Phabricator: https://reviews.llvm.org/
184+
.. _LLVM's GitHub: https://github.com/llvm/llvm-project
185+
.. _LLVM's Phabricator (deprecated): https://reviews.llvm.org/
205186
.. _LLVM's Open Projects page: https://llvm.org/OpenProjects.html#what

llvm/docs/DeveloperPolicy.rst

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ quality.
4646
Stay Informed
4747
-------------
4848

49-
Developers should stay informed by reading the `LLVM Discourse forums`_.
49+
Developers should stay informed by reading the `LLVM Discourse forums`_.
5050
If you are doing anything more than just casual work on LLVM, it is suggested that you also
5151
subscribe to the "commits" mailing list for the subproject you're interested in,
5252
such as `llvm-commits
@@ -84,11 +84,8 @@ to read it as possible. As such, we recommend that you:
8484
patches may not apply correctly if the underlying code changes between the
8585
time the patch was created and the time it is applied.
8686

87-
#. Patches should be unified diffs with "infinite context" (i.e. using something
88-
like `git diff -U999999 main`).
89-
9087
#. Once you have created your patch, create a
91-
`Phabricator review <Phabricator.html#phabricator-request-review-web>`_ for
88+
:ref:`GitHub Pull Request <github-reviews>` for
9289
it (or commit it directly if applicable).
9390

9491
When submitting patches, please do not add confidentiality or non-disclosure
@@ -116,6 +113,12 @@ diagnostic from a warning to an error, switching important default behavior, or
116113
any other potentially disruptive situation thought to be worth raising
117114
awareness of. For such changes, the following should be done:
118115

116+
.. warning::
117+
118+
Phabricator is deprecated and will be switched to read-only mode in October
119+
2023, for new code contributions use :ref:`GitHub Pull Requests <github-reviews>`.
120+
This section contains old information that needs to be updated.
121+
119122
* When performing the code review for the change, please add any applicable
120123
"vendors" group to the review for their awareness. The purpose of these
121124
groups is to give vendors early notice that potentially disruptive changes

llvm/docs/GettingInvolved.rst

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ LLVM welcomes contributions of all kinds. To get started, please review the foll
1414
CodeReview
1515
SupportPolicy
1616
SphinxQuickstartTemplate
17-
Phabricator
1817
HowToSubmitABug
1918
BugLifeCycle
2019
CodingStandards
@@ -38,10 +37,6 @@ LLVM welcomes contributions of all kinds. To get started, please review the foll
3837
A template + tutorial for writing new Sphinx documentation. It is meant
3938
to be read in source form.
4039

41-
:doc:`Phabricator`
42-
Describes how to use the Phabricator code review tool hosted on
43-
http://reviews.llvm.org/ and its command line interface, Arcanist.
44-
4540
:doc:`HowToSubmitABug`
4641
Instructions for properly submitting information about any bugs you run into
4742
in the LLVM system.
@@ -54,7 +49,7 @@ LLVM welcomes contributions of all kinds. To get started, please review the foll
5449
efficient C++ code.
5550

5651
:doc:`GitHub`
57-
Describes how to use the llvm-project repository on GitHub.
52+
Describes how to use the llvm-project repository and code reviews on GitHub.
5853

5954
:doc:`GitBisecting`
6055
Describes how to use ``git bisect`` on LLVM's repository.
@@ -110,7 +105,7 @@ Discourse forums. There are also commit mailing lists for all commits to the LLV
110105
The :doc:`CodeOfConduct` applies to all these forums and mailing lists.
111106

112107
`LLVM Discourse`__
113-
The forums for all things LLVM and related sub-projects. There are categories and subcategories for a wide variety of areas within LLVM. You can also view tags or search for a specific topic.
108+
The forums for all things LLVM and related sub-projects. There are categories and subcategories for a wide variety of areas within LLVM. You can also view tags or search for a specific topic.
114109

115110
.. __: https://discourse.llvm.org/
116111

@@ -130,9 +125,9 @@ The :doc:`CodeOfConduct` applies to all these forums and mailing lists.
130125
.. __: http://lists.llvm.org/pipermail/llvm-bugs/
131126

132127
`LLVM Announcements`__
133-
If you just want project wide announcements such as releases, developers meetings, or blog posts, then you should check out the Announcement category on LLVM Discourse.
128+
If you just want project wide announcements such as releases, developers meetings, or blog posts, then you should check out the Announcement category on LLVM Discourse.
134129

135-
.. __: https://discourse.llvm.org/c/announce/46
130+
.. __: https://discourse.llvm.org/c/announce/46
136131

137132
.. _online-sync-ups:
138133

@@ -146,7 +141,7 @@ The :doc:`CodeOfConduct` applies to all online sync-ups.
146141

147142
If you'd like to organize a new sync-up, please add the info in the table
148143
below. Please also create a calendar event for it and invite [email protected]
149-
to the event, so that it'll show up on the :ref:`llvm-community-calendar`.
144+
to the event, so that it'll show up on the :ref:`llvm-community-calendar`.
150145
Please see :ref:`llvm-community-calendar-host-guidance` for more guidance on
151146
what to add to your calendar invite.
152147

@@ -291,7 +286,7 @@ don't find anyone present, chances are they happen to be off that day.
291286
- `Video Call <https://meet.grosser.science/LLVMOfficeHours>`__
292287
- English, German, Spanish, French
293288
* - Anastasia Stulova
294-
- Clang internals for C/C++ language extensions and dialects, OpenCL, GPU, SPIR-V, how to contribute, women in compilers.
289+
- Clang internals for C/C++ language extensions and dialects, OpenCL, GPU, SPIR-V, how to contribute, women in compilers.
295290
- Monthly, 1st Tuesday of the month at 17:00 BST - London time (9:00am PT except for 2 weeks in spring), 30 mins slot.
296291
- `GoogleMeet <https://meet.google.com/kdy-fdbv-nuk>`__
297292
- English, Russian, German (not fluently)
@@ -330,7 +325,7 @@ Guidance for office hours hosts
330325

331326
* If you're interested in becoming an office hours host, please add your
332327
information to the list above. Please create a calendar event for it and
333-
invite [email protected] to the event so that it'll show up on the
328+
invite [email protected] to the event so that it'll show up on the
334329
:ref:`llvm-community-calendar`.
335330
Please see :ref:`llvm-community-calendar-host-guidance` for more guidance on
336331
what to add to your calendar invite.
@@ -446,7 +441,7 @@ Guidance on what to put into LLVM community calendar invites
446441

447442
To add your event, create a calendar event for it and invite [email protected]
448443
on it. Your event should then show up on the community calendar.
449-
444+
450445
Please put the following pieces of information in your calendar invite:
451446

452447
* Write a single paragraph describing what the event is about. Include things

0 commit comments

Comments
 (0)