You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by me...@apache.org on 2018/08/20 19:06:40 UTC

[beam-site] branch asf-site updated (7981cfc -> 6a90c60)

This is an automated email from the ASF dual-hosted git repository.

mergebot-role pushed a change to branch asf-site
in repository https://gitbox.apache.org/repos/asf/beam-site.git.


    from 7981cfc  Prepare repository for deployment.
     add 1477fb5  Add precommit policies and triage guide.
     add d6ae49a  Add dashes to pre-commit and post-commit.
     add f5c441d  This closes #519
     new 6a90c60  Prepare repository for deployment.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 content/contribute/become-a-committer/index.html   |   6 +-
 content/contribute/committer-guide/index.html      |   6 +-
 content/contribute/dependencies/index.html         |   6 +-
 content/contribute/design-documents/index.html     |   6 +-
 content/contribute/docker-images/index.html        |   6 +-
 content/contribute/eclipse/index.html              |   6 +-
 content/contribute/index.html                      |  15 +-
 content/contribute/intellij/index.html             |   6 +-
 content/contribute/portability/index.html          |   6 +-
 content/contribute/postcommits-guides/index.html   |   6 +-
 .../postcommits-policies-details/index.html        |   6 +-
 content/contribute/postcommits-policies/index.html |   6 +-
 .../index.html                                     | 113 +++++++------
 .../index.html                                     | 184 ++++++++++++++-------
 .../contribute/ptransform-style-guide/index.html   |   6 +-
 content/contribute/release-guide/index.html        |   6 +-
 content/contribute/runner-guide/index.html         |   6 +-
 content/contribute/testing/index.html              |  85 +++++-----
 .../contribute/website-contributions/index.html    |   6 +-
 content/images/precommit_durations.png             | Bin 0 -> 45673 bytes
 content/images/precommit_graph_queuing_time.png    | Bin 0 -> 25809 bytes
 src/_includes/section-menu/contribute.html         |   6 +-
 src/contribute/index.md                            |   9 +-
 src/contribute/precommit-policies.md               |  66 ++++++++
 src/contribute/precommit-triage-guide.md           | 137 +++++++++++++++
 src/contribute/testing.md                          |  75 +++++----
 src/images/precommit_durations.png                 | Bin 0 -> 45673 bytes
 src/images/precommit_graph_queuing_time.png        | Bin 0 -> 25809 bytes
 28 files changed, 569 insertions(+), 211 deletions(-)
 copy content/contribute/{postcommits-guides => precommit-policies}/index.html (82%)
 copy content/contribute/{postcommits-policies => precommit-triage-guide}/index.html (66%)
 create mode 100644 content/images/precommit_durations.png
 create mode 100644 content/images/precommit_graph_queuing_time.png
 create mode 100644 src/contribute/precommit-policies.md
 create mode 100644 src/contribute/precommit-triage-guide.md
 create mode 100644 src/images/precommit_durations.png
 create mode 100644 src/images/precommit_graph_queuing_time.png


[beam-site] 01/01: Prepare repository for deployment.

Posted by me...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mergebot-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/beam-site.git

commit 6a90c609d5c7acceb2665331b1b2a3a8d1da82c2
Author: Mergebot <me...@apache.org>
AuthorDate: Mon Aug 20 19:06:37 2018 +0000

    Prepare repository for deployment.
---
 content/contribute/become-a-committer/index.html   |   6 +-
 content/contribute/committer-guide/index.html      |   6 +-
 content/contribute/dependencies/index.html         |   6 +-
 content/contribute/design-documents/index.html     |   6 +-
 content/contribute/docker-images/index.html        |   6 +-
 content/contribute/eclipse/index.html              |   6 +-
 content/contribute/index.html                      |  15 +-
 content/contribute/intellij/index.html             |   6 +-
 content/contribute/portability/index.html          |   6 +-
 content/contribute/postcommits-guides/index.html   |   6 +-
 .../postcommits-policies-details/index.html        |   6 +-
 content/contribute/postcommits-policies/index.html |   6 +-
 .../index.html                                     | 113 +++++++------
 .../index.html                                     | 184 ++++++++++++++-------
 .../contribute/ptransform-style-guide/index.html   |   6 +-
 content/contribute/release-guide/index.html        |   6 +-
 content/contribute/runner-guide/index.html         |   6 +-
 content/contribute/testing/index.html              |  85 +++++-----
 .../contribute/website-contributions/index.html    |   6 +-
 content/images/precommit_durations.png             | Bin 0 -> 45673 bytes
 content/images/precommit_graph_queuing_time.png    | Bin 0 -> 25809 bytes
 21 files changed, 315 insertions(+), 172 deletions(-)

diff --git a/content/contribute/become-a-committer/index.html b/content/contribute/become-a-committer/index.html
index 1ccffc9..0c910c5 100644
--- a/content/contribute/become-a-committer/index.html
+++ b/content/contribute/become-a-committer/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/committer-guide/index.html b/content/contribute/committer-guide/index.html
index 58e5ed5..3ad43d6 100644
--- a/content/contribute/committer-guide/index.html
+++ b/content/contribute/committer-guide/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/dependencies/index.html b/content/contribute/dependencies/index.html
index a4a306f..dd97540 100644
--- a/content/contribute/dependencies/index.html
+++ b/content/contribute/dependencies/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/design-documents/index.html b/content/contribute/design-documents/index.html
index 93e2fab..505efbb 100644
--- a/content/contribute/design-documents/index.html
+++ b/content/contribute/design-documents/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/docker-images/index.html b/content/contribute/docker-images/index.html
index dc3c803..b19985f 100644
--- a/content/contribute/docker-images/index.html
+++ b/content/contribute/docker-images/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/eclipse/index.html b/content/contribute/eclipse/index.html
index 6e26d29..6ee2b6d 100644
--- a/content/contribute/eclipse/index.html
+++ b/content/contribute/eclipse/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/index.html b/content/contribute/index.html
index b014e5e..c6f1426 100644
--- a/content/contribute/index.html
+++ b/content/contribute/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
@@ -374,16 +378,17 @@ To find a committer for your area, look for similar code merges or ask on
 
 <p>Use @mention in the pull request to notify the reviewer.</p>
 
-<p>The pull request and any changes pushed to it will trigger precommit jobs.
-If a test fails and appears unrelated to your change, you can cause tests
-to be re-run by adding a single line comment on your PR</p>
+<p>The pull request and any changes pushed to it will trigger <a href="/contribute/testing/">pre-commit
+jobs</a>. If a test fails and appears unrelated to your
+change, you can cause tests to be re-run by adding a single line comment on your
+PR</p>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> retest this please
 </code></pre>
 </div>
 
 <p>There are other trigger phrases for post-commit tests found in
-.testinfra/jenkins, but use these sparingly because postcommit
+.testinfra/jenkins, but use these sparingly because post-commit
 tests consume shared development resources.</p>
 
 <h3 id="developing-with-the-python-sdk">Developing with the Python SDK</h3>
diff --git a/content/contribute/intellij/index.html b/content/contribute/intellij/index.html
index f35bbfa..5da99be 100644
--- a/content/contribute/intellij/index.html
+++ b/content/contribute/intellij/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/portability/index.html b/content/contribute/portability/index.html
index 55330dd..bae564b 100644
--- a/content/contribute/portability/index.html
+++ b/content/contribute/portability/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/postcommits-guides/index.html b/content/contribute/postcommits-guides/index.html
index be19269..c93c868 100644
--- a/content/contribute/postcommits-guides/index.html
+++ b/content/contribute/postcommits-guides/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/postcommits-policies-details/index.html b/content/contribute/postcommits-policies-details/index.html
index b91f5e2..779bee3 100644
--- a/content/contribute/postcommits-policies-details/index.html
+++ b/content/contribute/postcommits-policies-details/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/postcommits-policies/index.html b/content/contribute/postcommits-policies/index.html
index ffe36b1..275e837 100644
--- a/content/contribute/postcommits-policies/index.html
+++ b/content/contribute/postcommits-policies/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/postcommits-guides/index.html b/content/contribute/precommit-policies/index.html
similarity index 82%
copy from content/contribute/postcommits-guides/index.html
copy to content/contribute/precommit-policies/index.html
index be19269..96b28d3 100644
--- a/content/contribute/postcommits-guides/index.html
+++ b/content/contribute/precommit-policies/index.html
@@ -28,7 +28,7 @@
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <title>Post-commit tests processes guides</title>
+  <title>Pre-commit Test Policies</title>
   <meta name="description" content="Apache Beam is an open source, unified model and set of language-specific SDKs for defining and executing data processing workflows, and also data ingestion and integration flows, supporting Enterprise Integration Patterns (EIPs) and Domain Specific Languages (DSLs). Dataflow pipelines simplify the mechanics of large-scale batch and streaming data processing and can run on a number of runtimes like Apache Flink, Apache Spark, and Google Cloud Dataflow  [...]
 ">
   <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400" rel="stylesheet">
@@ -39,7 +39,7 @@
   <script src="/js/fix-menu.js"></script>
   <script src="/js/section-nav.js"></script>
   <script src="/js/page-nav.js"></script>
-  <link rel="canonical" href="https://beam.apache.org/contribute/postcommits-guides/" data-proofer-ignore>
+  <link rel="canonical" href="https://beam.apache.org/contribute/precommit-policies/" data-proofer-ignore>
   <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
   <link rel="alternate" type="application/rss+xml" title="Apache Beam" href="https://beam.apache.org/feed.xml">
   <script>
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
@@ -195,9 +199,14 @@
 
 
 <ul class="nav">
-  <li><a href="#find_specialist">Finding someone to triage a post-commit test failure</a></li>
-  <li><a href="#rollback">Rolling back a commit</a></li>
-  <li><a href="#disabling">Disabling a failing test</a></li>
+  <li><a href="#definitions">Definitions</a></li>
+  <li><a href="#policies">Policies</a>
+    <ul>
+      <li><a href="#pull-requests">Pull Requests</a></li>
+      <li><a href="#problems">Problems</a></li>
+      <li><a href="#problem-resolution">Problem Resolution</a></li>
+    </ul>
+  </li>
 </ul>
 
 
@@ -218,70 +227,64 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-<h1 id="post-commit-test-task-guides">Post-commit test task guides</h1>
-
-<p>These guides provide steps for common post-commit test failure tasks.</p>
+<h1 id="pre-commit-test-policies">Pre-commit test policies</h1>
 
-<h2 id="find_specialist">Finding someone to triage a post-commit test failure</h2>
+<h2 id="definitions">Definitions</h2>
 
-<p>To find the proper person to triage a test failure, you can use these
-suggestions:</p>
-
-<ol>
-  <li>If you can triage it yourself, go for it.</li>
-  <li>Look at the GitHub blame for the files with problematic code.</li>
-  <li>Ask in the <a href="https://the-asf.slack.com/messages/C9H0YNP3P/apps/A0F7VRFKN/">Beam Slack chat</a>.</li>
-  <li>Write to the dev list: dev@beam.apache.org</li>
-</ol>
+<ul>
+  <li>Pre-commit test - Any single test in a pre-commit test suite.</li>
+  <li>Pre-commit test suite - A collection of pre-commit tests that have a common
+denominator. A test suite runs in a single Jenkins job. Currently, suites are
+grouped by SDK languages, e.g., Python, Java, and Go.</li>
+</ul>
 
-<h2 id="rollback">Rolling back a commit</h2>
+<h2 id="policies">Policies</h2>
 
-<p>Rolling back is usually the fastest way to fix a failing test.  However it is
-is often inconvenient for the original author. To help the author fix the
-issue, follow these steps when you rollback someone’s change.</p>
+<h3 id="pull-requests">Pull Requests</h3>
 
-<ol>
-  <li>Rollback the PR.</li>
-  <li>Create a JIRA issue that contains the following information:
-    <ul>
-      <li>the reason for the rollback</li>
-      <li>a link to the test failure’s JIRA issue</li>
-      <li>triage information</li>
-      <li>any other relevant details</li>
-    </ul>
-  </li>
-  <li>Assign the new JIRA issue to the original PR author.</li>
-  <li>Consider re-opening the JIRA issue associated with the original PR (if
-there is one).</li>
-  <li>Send a notification email with information about the rollback, links to the
-original PR and the rollback PR, and the reasons for the rollback to:
+<ul>
+  <li>A PR must pass pre-commit tests before being committed to the main Beam repo.
     <ul>
-      <li>dev@beam.apache.org</li>
-      <li>the original PR author and the committer of the PR</li>
+      <li>The relevant pre-commit test suites are automatically launched according to
+PR contents.</li>
     </ul>
   </li>
-  <li>Close the test failure JIRA issue. Your work is done here!</li>
-</ol>
+</ul>
+
+<h3 id="problems">Problems</h3>
 
-<h2 id="disabling">Disabling a failing test</h2>
+<h4 id="breakage">Breakage</h4>
+
+<p>Breakage is when one or more tests in a pre-commit test suite fails or
+is flaky (occasionally fails).</p>
+
+<ul>
+  <li>Breakages should be fixed within 8 hours.</li>
+</ul>
 
-<p>If a test fails, our first priority is to rollback the problematic code and fix
-the issue. However, if both: rollback and fix will take awhile to implement, it
-is safer to temporarily disable the test until the fix is ready.</p>
+<h4 id="slowness">Slowness</h4>
 
-<p>Use caution when deciding to disable a test. When tests are disabled,
-contributors are no longer developing on top of fully tested code. If you decide
-to disable a test, use the following guidelines:</p>
+<p>Slowness is when the total time to run a pre-commit suite exceeds 30 minutes*,
+including the time the job spends in the Jenkins queue.</p>
 
 <ul>
-  <li>Notify the dev@beam.apache.org mailing list. Describe the problem and let
-everyone know which test you are disabling.</li>
-  <li>Implement the fix and get the test back online as soon as possible.</li>
+  <li>Slowness should be fixed within 24 hours.</li>
 </ul>
 
-<p>While the test is disabled, contributors should not push code to the failing
-test’s coverage area. The code area is not properly tested until you fix the
-test.</p>
+<p>* See the <a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage
+Guide</a> for a precise definition of slowness
+and for information on dealing with slowness.</p>
+
+<h3 id="problem-resolution">Problem Resolution</h3>
+
+<p>For any problem, the options are, one of:</p>
+
+<ul>
+  <li>Roll back the culprit PR.</li>
+  <li>Roll out a fix within 24 hours.</li>
+  <li>Disable the slow test or feature temporarily (make sure there’s a tracking
+issue to re-enable it).</li>
+</ul>
 
 
       </div>
diff --git a/content/contribute/postcommits-policies/index.html b/content/contribute/precommit-triage-guide/index.html
similarity index 66%
copy from content/contribute/postcommits-policies/index.html
copy to content/contribute/precommit-triage-guide/index.html
index ffe36b1..093a1e8 100644
--- a/content/contribute/postcommits-policies/index.html
+++ b/content/contribute/precommit-triage-guide/index.html
@@ -28,7 +28,7 @@
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <title>Post-commit tests policies</title>
+  <title>Pre-commit Slowness Triage Guide</title>
   <meta name="description" content="Apache Beam is an open source, unified model and set of language-specific SDKs for defining and executing data processing workflows, and also data ingestion and integration flows, supporting Enterprise Integration Patterns (EIPs) and Domain Specific Languages (DSLs). Dataflow pipelines simplify the mechanics of large-scale batch and streaming data processing and can run on a number of runtimes like Apache Flink, Apache Spark, and Google Cloud Dataflow  [...]
 ">
   <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400" rel="stylesheet">
@@ -39,7 +39,7 @@
   <script src="/js/fix-menu.js"></script>
   <script src="/js/section-nav.js"></script>
   <script src="/js/page-nav.js"></script>
-  <link rel="canonical" href="https://beam.apache.org/contribute/postcommits-policies/" data-proofer-ignore>
+  <link rel="canonical" href="https://beam.apache.org/contribute/precommit-triage-guide/" data-proofer-ignore>
   <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
   <link rel="alternate" type="application/rss+xml" title="Apache Beam" href="https://beam.apache.org/feed.xml">
   <script>
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
@@ -195,15 +199,21 @@
 
 
 <ul class="nav">
-  <li><a href="#policies">Policies</a></li>
-  <li><a href="#post-commit-test-failure-scenarios">Post-commit test failure scenarios</a>
+  <li><a href="#what-are-fast-pre-commits">What are fast pre-commits?</a></li>
+  <li><a href="#determining-slowness">Determining Slowness</a>
+    <ul>
+      <li><a href="#notebook">Notebook</a></li>
+    </ul>
+  </li>
+  <li><a href="#triage-process">Triage Process</a></li>
+  <li><a href="#resolution">Resolution</a></li>
+  <li><a href="#possible-causes-and-solutions">Possible Causes and Solutions</a>
     <ul>
-      <li><a href="#found-failing-test">I found a test failure</a></li>
-      <li><a href="#assigned-failing-test">I was assigned a JIRA issue for a test failure</a></li>
-      <li><a href="#pr-rolled-back">My change was rolled back due to a test failure</a></li>
+      <li><a href="#resource-exhaustion">Resource Exhaustion</a></li>
+      <li><a href="#slow-individual-tests">Slow individual tests</a></li>
+      <li><a href="#slow-integration-tests">Slow integration tests</a></li>
     </ul>
   </li>
-  <li><a href="#useful-links">Useful links</a></li>
   <li><a href="#references">References</a></li>
 </ul>
 
@@ -225,80 +235,134 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-<h1 id="post-commit-tests-policies">Post-commit tests policies</h1>
+<h1 id="pre-commit-slowness-triage-guide">Pre-commit Slowness Triage Guide</h1>
 
-<p>Post-commit tests validate that Beam works correctly in a live environment. The
-tests also catch errors that are hard to predict in the design and
-implementation stages</p>
+<p>Beam pre-commit jobs are suites of tests run automatically on Jenkins build
+machines for each pull request (PR) submitted to
+<a href="https://github.com/apache/beam">apache/beam</a>. For more information and the
+difference between pre-commits and post-commits, see
+<a href="/contribute/testing/">testing</a>.</p>
 
-<p>Even though post-commit tests run after the code is merged into the repository,
-it is important that the tests pass reliably. Jenkins executes post-commit tests
-against the HEAD of the master branch. If post-commit tests fail, there is a
-problem with the HEAD build. In addition, post-commit tests are time consuming
-to run, and it is often hard to triage test failures.</p>
+<h2 id="what-are-fast-pre-commits">What are fast pre-commits?</h2>
 
-<h2 id="policies">Policies</h2>
+<p>Pre-commit tests are required to pass before a pull request (PR) is merged.
+When these tests are slow they slow down Beam’s development process.
+The aim is to have 95% of pre-commit jobs complete within 30 minutes
+(failing or passing).</p>
 
-<p>To ensure that Beam’s post-commit tests are reliable and healthy, the Beam
-community follows these post-commit test policies:</p>
+<p>Technically, the 95th percentile of running time should be below 30 minutes over
+the past 4 weeks, where running time is the duration of time the job spends in
+the Jenkins queue + the actual time it spends running.</p>
 
-<ul>
-  <li><a href="/contribute/postcommits-policies-details/index.html#rollback_first">Rollback first</a></li>
-  <li><a href="/contribute/postcommits-policies-details/index.html#failing_test_is_critical_bug">A failing test is a critical bug</a></li>
-  <li><a href="/contribute/postcommits-policies-details/index.html#flake_is_failing">A flaky test is a critical bug</a></li>
-  <li><a href="/contribute/postcommits-policies-details/index.html#remove_flake">Flaky tests must either be fixed or removed</a></li>
-  <li><a href="/contribute/postcommits-policies-details/index.html#precommit_for_postcommit">Fixes for post-commit failures should include a corresponding new pre-commit test</a></li>
-</ul>
-
-<h2 id="post-commit-test-failure-scenarios">Post-commit test failure scenarios</h2>
+<h2 id="determining-slowness">Determining Slowness</h2>
 
-<p>When a post-commit test fails, follow the provided steps for your situation.</p>
-
-<h3 id="found-failing-test">I found a test failure</h3>
+<p>There are two main signs of slowness:</p>
 
 <ol>
-  <li>Create a <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20BEAM%20AND%20component%20%3D%20test-failures">JIRA issue</a>
-and assign it to yourself.</li>
-  <li>Do high level triage of the failure.</li>
-  <li><a href="/contribute/postcommits-guides/index.html#find_specialist">Assign the JIRA issue to a relevant person</a>.</li>
+  <li>Pre-commit jobs are timing out after 30 minutes. This can be determined from
+the console log of a job.</li>
+  <li>Pre-commits aren’t timing out, but the total wait time for pre-commit results
+is &gt;30m. This can be determined using a Jupyter notebook.</li>
 </ol>
 
-<h3 id="assigned-failing-test">I was assigned a JIRA issue for a test failure</h3>
+<h3 id="notebook">Notebook</h3>
 
-<ol>
-  <li><a href="/contribute/postcommits-guides/index.html#rollback">Rollback the culprit change</a>.</li>
-  <li>If you determine that rollback will take longer than 8 hours, <a href="/contribute/postcommits-guides/index.html#disabling">disable the
-test temporarily</a> while you rollback or create a
-fix.</li>
-</ol>
+<p>The Beam repo contains a <a href="https://github.com/apache/beam/tree/master/.test-infra/jupyter">Jupyter
+notebook</a> named
+<code class="highlighter-rouge">precommit_job_times.ipynb</code> that can be used to gather and visualize statistics
+about pre-commit running times.</p>
+
+<p>Run the notebook. It should output a table with running times. The numbers in
+the column <code class="highlighter-rouge">totalDurationMinutes_all</code> and the rows with a <code class="highlighter-rouge">job_name</code> like <code class="highlighter-rouge">4
+weeks 95th</code> contain the target numbers for determining slowness.
+If any of these numbers are above 30, triaging is required.</p>
+
+<h4 id="example">Example</h4>
+<p>Here’s an example table of running times:</p>
+
+<p><img src="/images/precommit_durations.png" alt="example pre-commit duration table" /></p>
+
+<p>(Note that this example was created when pre-commits did not have 30m timeouts.)</p>
 
-<blockquote>
-  <p>Note: Rollback is always the first course of action. If a fix is trivial,
-open a pull request with the proposed fix while doing rollback.</p>
-</blockquote>
+<p>In this example, Go pre-commits are taking approximately 14 minutes, which is
+fast. Java and Python pre-commits are taking 78 and 32 minutes respectively,
+which is slow. Both Java and Python pre-commits require triage.</p>
 
-<h3 id="pr-rolled-back">My change was rolled back due to a test failure</h3>
+<h2 id="triage-process">Triage Process</h2>
 
 <ol>
-  <li>Look at the JIRA issue to find the reason for the rollback.</li>
-  <li>Fix your code and re-run the post-commit tests.</li>
-  <li>Implement new pre-commit tests that will catch similar bugs before future
-code is merged into the repository.</li>
-  <li>Open a new PR that contains your fix and the new pre-commit tests.</li>
+  <li><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20BEAM%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20labels%20%3D%20precommit%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">Search for existing
+issues</a></li>
+  <li>Create a new issue if needed: <a href="https://issues.apache.org/jira/issues">Apache
+JIRA</a>
+    <ul>
+      <li>Project: Beam</li>
+      <li>Components: testing, anything else relevant</li>
+      <li>Label: precommit</li>
+      <li>Reference this page in the description.</li>
+    </ul>
+  </li>
+  <li>Determine where the slowness is coming from and identify issues. Open
+additional issues if needed (such as for multiple issues).</li>
+  <li>Assign the issue as appropriate, e.g., to the test’s or PR’s author.</li>
 </ol>
 
-<h2 id="useful-links">Useful links</h2>
+<h2 id="resolution">Resolution</h2>
+
+<p>It is important that we quickly fix slow pre-commit tests. See <a href="/contribute/precommit-policies/">pre-commit test
+policies</a> for details.</p>
+
+<h2 id="possible-causes-and-solutions">Possible Causes and Solutions</h2>
+
+<p>This section lists some starting points for fixing pre-commit slowness.</p>
+
+<h3 id="resource-exhaustion">Resource Exhaustion</h3>
+
+<p>Have a look at the graphs in the Jupyter notebook. Does the rise in total
+duration match the rise in queuing time? If so, the slowness might be unrelated
+to this specific pre-commit job.</p>
+
+<p>Example of when total and queuing durations rise and fall together (mostly):
+<img src="/images/precommit_graph_queuing_time.png" alt="graph of pre-commit times" /></p>
+
+<p>Since Jenkins machines are a limited resource, other jobs can
+affect pre-commit queueing times. Try to figure out if other jobs have been
+recently slower, increased in frequency, or new jobs have been introduced.</p>
+
+<p>Another option is to look at adding more Jenkins machines.</p>
+
+<h3 id="slow-individual-tests">Slow individual tests</h3>
+
+<p>Sometimes a pre-commit job is slowed down due to one or more tests. One way of
+determining if this is the case is by looking at individual test timings.</p>
+
+<p>Where to find individual test timings:</p>
 
 <ul>
-  <li><a href="/contribute/testing/index.html#best_practices">Best practices for writing tests</a></li>
+  <li>Look at the <code class="highlighter-rouge">Gradle Build Scan</code> link on the pre-commit job’s Jenkins page.
+This page will contain individual test timings for Java tests only (2018-08).</li>
+  <li>Look at the <code class="highlighter-rouge">Test Result</code> link on the pre-commit job’s Jenkins page. This
+should be available for Java and Python tests (2018-08).</li>
 </ul>
 
+<p>Sometimes tests can be made faster by refactoring. A test that spends a lot of
+time waiting (such as an integration test) could be made to run concurrently with
+the other tests.</p>
+
+<p>If a test is determined to be too slow to be part of pre-commit tests, it should
+be removed from pre-commit and placed in post-commit instead. In addition,
+ensure that the code covered by the removed test is <a href="/contribute/postcommits-policies-details/#precommit_for_postcommit">covered by a unit test in
+pre-commit</a>.</p>
+
+<h3 id="slow-integration-tests">Slow integration tests</h3>
+
+<p>Integration test slowdowns may be caused by dependent services.</p>
+
 <h2 id="references">References</h2>
 
-<ol>
-  <li><a href="https://lists.apache.org/thread.html/3bb4aa777751da2e2d7e22666aa6a2e18ae31891cb09d91718b75e74@%3Cdev.beam.apache.org%3E">Keeping post-commit tests green</a>
-mailing list proposal thread.</li>
-</ol>
+<ul>
+  <li><a href="https://docs.google.com/document/d/1udtvggmS2LTMmdwjEtZCcUQy6aQAiYTI3OrTP8CLfJM/edit?usp=sharing">Beam Fast Precommits design doc</a></li>
+</ul>
 
       </div>
     </div>
diff --git a/content/contribute/ptransform-style-guide/index.html b/content/contribute/ptransform-style-guide/index.html
index 5229d8d..39c7230 100644
--- a/content/contribute/ptransform-style-guide/index.html
+++ b/content/contribute/ptransform-style-guide/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/release-guide/index.html b/content/contribute/release-guide/index.html
index 69d6c39..00e5c6c 100644
--- a/content/contribute/release-guide/index.html
+++ b/content/contribute/release-guide/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/runner-guide/index.html b/content/contribute/runner-guide/index.html
index 1639ce1..d74b5ae 100644
--- a/content/contribute/runner-guide/index.html
+++ b/content/contribute/runner-guide/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/testing/index.html b/content/contribute/testing/index.html
index 333a387..2c27a71 100644
--- a/content/contribute/testing/index.html
+++ b/content/contribute/testing/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
@@ -197,8 +201,8 @@
 <ul class="nav">
   <li><a href="#testing-scenarios">Testing Scenarios</a>
     <ul>
-      <li><a href="#precommit">Precommit</a></li>
-      <li><a href="#postcommit">Postcommit</a></li>
+      <li><a href="#pre-commit">Pre-commit</a></li>
+      <li><a href="#post-commit">Post-commit</a></li>
     </ul>
   </li>
   <li><a href="#testing-types">Testing Types</a>
@@ -252,48 +256,55 @@ systems at the bottom.</p>
 
 <h2 id="testing-scenarios">Testing Scenarios</h2>
 
-<p>With the tools at our disposal, we have a good set of utilities which we can use
-to verify Beam correctness. To ensure an ongoing high quality of code, we use
-precommit and postcommit testing.</p>
-
-<h3 id="precommit">Precommit</h3>
-
-<p>For precommit testing, Beam uses
-<a href="https://builds.apache.org/view/A-D/view/Beam/">Jenkins</a> and a code coverage tool
-called <a href="https://coveralls.io/github/apache/beam">Coveralls</a>, hooked up
-to <a href="https://github.com/apache/beam">Github</a>, to ensure that pull
-requests meet a certain quality bar. These precommits verify correctness via two
-of the below testing tools: unit tests (with coverage monitored by Coveralls)
-and E2E tests. We run the full slate of unit tests in precommit, ensuring
-correctness at a basic level, and then run the WordCount E2E test in both batch
-and streaming (coming soon!) against each supported SDK / runner combination as
-a smoke test, to verify that a basic level of functionality exists. We think
-that this hits the appropriate tradeoff between a desire for short (ideally
-&lt;30m) precommit times and a desire to verify that pull requests going into Beam
-function in the way in which they are intended.</p>
-
-<p>Precommit tests are kicked off when a user makes a Pull Request against the
-<code class="highlighter-rouge">apache/beam</code> repository and the Jenkins and Coveralls statuses are displayed at
-the bottom of the pull request page. Clicking on “Details” will open the status
-page in the selected tool; there, test status and output can be viewed.</p>
-
-<h3 id="postcommit">Postcommit</h3>
-
-<p>Running in postcommit removes as stringent of a time constraint, which gives us
-the ability to do some more comprehensive testing. In postcommit we have a test
+<p>Ideally, all available tests should be run against a pull request (PR) before
+it’s allowed to be committed to Beam’s <a href="https://github.com/apache/beam">Github</a>
+repo. This is not possible, however, due to a combination of time and resource
+constraints. Running all tests for each PR would take hours or even days using
+available resources, which would slow down development considerably.</p>
+
+<p>Thus tests are split into <em>pre-commit</em> and <em>post-commit</em> suites. Pre-commit is
+fast, while post-commit is comprehensive. As their names imply, pre-commit tests
+are run on each PR before it is committed, while post-commits run periodically
+against the master branch (i.e. on already committed PRs).</p>
+
+<p>Beam uses <a href="https://builds.apache.org/view/A-D/view/Beam/">Jenkins</a> to run
+pre-commit and post-commit tests.</p>
+
+<h3 id="pre-commit">Pre-commit</h3>
+
+<p>The pre-commit test suite verifies correctness via two testing tools: unit tests
+and end-to-end (E2E) tests. Unit tests ensure correctness at a basic level,
+while WordCount E2E tests are run againsts each supported SDK / runner
+combination as a smoke test, to verify that a basic level of functionality
+exists.</p>
+
+<p>This combination of tests hits the appropriate tradeoff between a desire for
+short (ideally &lt;30m) pre-commit times and a desire to verify that PRs going
+into Beam function in the way in which they are intended.</p>
+
+<p>Pre-commit jobs are kicked off when a contributor makes a PR against the
+<code class="highlighter-rouge">apache/beam</code> repository. Job statuses are displayed at the bottom of the PR
+page. Clicking on “Details” will open the status page in the selected tool;
+there, you can view test status and output.</p>
+
+<h3 id="post-commit">Post-commit</h3>
+
+<p>Running in post-commit removes as stringent of a time constraint, which gives us
+the ability to do some more comprehensive testing. In post-commit we have a test
 suite running the ValidatesRunner tests against each supported runner, and
 another for running the full set of E2E tests against each runner.
 Currently-supported runners are Dataflow, Flink, Spark, and Gearpump, with
 others soon to follow. Work is ongoing to enable Flink, Spark, and Gearpump in
-the E2E framework, with full support targeted for end of August 2016. Postcommit
-tests run periodically, with timing defined in their Jenkins configurations.</p>
+the E2E framework, with full support targeted for end of August 2016.
+Post-commit tests run periodically, with timing defined in their Jenkins
+configurations.</p>
 
-<p>Adding new postcommit E2E tests is generally as easy as adding a *IT.java file
+<p>Adding new post-commit E2E tests is generally as easy as adding a *IT.java file
 to the repository - Failsafe will notice it and run it - but if you want to do
 more interesting things, take a look at
 <a href="https://github.com/apache/beam/blob/master/examples/java/src/test/java/org/apache/beam/examples/WordCountIT.java">WordCountIT.java</a>.</p>
 
-<p>Postcommit test results can be found in
+<p>Post-commit test results can be found in
 <a href="https://builds.apache.org/view/A-D/view/Beam/">Jenkins</a>.</p>
 
 <h2 id="testing-types">Testing Types</h2>
@@ -312,7 +323,7 @@ breakages. Beam Java unit tests are written in JUnit.</p>
 To run all unit tests, execute the following command in the <code class="highlighter-rouge">sdks/python</code>
 subdirectory</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>python setup.py test [-s apache_beam.package.module.TestClass.test_method]
+<div class="highlighter-rouge"><pre class="highlight"><code>$ python setup.py test [-s apache_beam.package.module.TestClass.test_method]
 </code></pre>
 </div>
 
diff --git a/content/contribute/website-contributions/index.html b/content/contribute/website-contributions/index.html
index a0da1a9..faa184c 100644
--- a/content/contribute/website-contributions/index.html
+++ b/content/contribute/website-contributions/index.html
@@ -151,6 +151,9 @@
 
   <ul class="section-nav-list">
     <li><a href="/contribute/testing/">Testing guide</a></li>
+    <ul>
+      <li><a href="/contribute/precommit-triage-guide/">Pre-commit Slowness Triage Guide</a></li>
+    </ul>
     <li><a href="/contribute/ptransform-style-guide/">PTransform style guide</a></li>
     <li><a href="/contribute/runner-guide/">Runner authoring guide</a></li>
     <li><a href="/contribute/portability/">Portability Framework</a></li>
@@ -162,7 +165,8 @@
 <li>
   <span class="section-nav-list-title">Policies</span>
   <ul class="section-nav-list">
-    <li><a href="/contribute/postcommits-policies/">Post-commit tests policies</a></li>
+    <li><a href="/contribute/precommit-policies/">Pre-commit test policies</a></li>
+    <li><a href="/contribute/postcommits-policies/">Post-commit test policies</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/images/precommit_durations.png b/content/images/precommit_durations.png
new file mode 100644
index 0000000..c659677
Binary files /dev/null and b/content/images/precommit_durations.png differ
diff --git a/content/images/precommit_graph_queuing_time.png b/content/images/precommit_graph_queuing_time.png
new file mode 100644
index 0000000..5082943
Binary files /dev/null and b/content/images/precommit_graph_queuing_time.png differ