[
https://issues.apache.org/jira/browse/BEAM-10599?focusedWorklogId=464510&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-464510
]
ASF GitHub Bot logged work on BEAM-10599:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 30/Jul/20 12:15
Start Date: 30/Jul/20 12:15
Worklog Time Spent: 10m
Work Description: TobKed commented on a change in pull request #12405:
URL: https://github.com/apache/beam/pull/12405#discussion_r462953052
##########
File path: CI.md
##########
@@ -0,0 +1,104 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Apache Beam
+
+## CI Environment
+
+Continuous Integration is important component of making Apache Beam robust and
stable.
+
+Our execution environment for CI is mainly the Jenkins which is available at
+[https://ci-beam.apache.org/](https://ci-beam.apache.org/). See
+[.test-infra/jenkins/README](.test-infra/jenkins/README.md)
+for trigger phrase, status and link of all Jenkins jobs. See Apache Beam
Developer Guide for
+[Jenkins Tips](https://cwiki.apache.org/confluence/display/BEAM/Jenkins+Tips).
+
+An additional execution environment for CI is [GitHub
Actions](https://github.com/features/actions). GitHub Actions
+(GA) are very well integrated with GitHub code and Workflow and it has evolved
fast in 2019/202 to become
+a fully-fledged CI environment, easy to use and develop for, so we decided to
use it for building python source
+distribution and wheels.
+
+## GitHub Actions
+
+### GitHub actions run types
+
+The following GA CI Job runs are currently run for Apache Beam, and each of
the runs have different
+purpose and context.
+
+#### Pull request run
+
+Those runs are results of PR from the forks made by contributors. Most builds
for Apache Beam fall
+into this category. They are executed in the context of the "Fork", not main
+Beam Code Repository which means that they have only "read" permission to all
the GitHub resources
+(container registry, code repository). This is necessary as the code in those
PRs (including CI job
+definition) might be modified by people who are not committers for the Apache
Beam Code Repository.
+
+The main purpose of those jobs is to check if PR builds cleanly, if the test
run properly and if
+the PR is ready to review and merge.
+
+#### Direct Push/Merge Run
+
+Those runs are results of direct pushes done by the committers or as result of
merge of a Pull Request
+by the committers. Those runs execute in the context of the Apache Beam Code
Repository and have also
+write permission for GitHub resources (container registry, code repository).
+The main purpose for the run is to check if the code after merge still holds
all the assertions - like
+whether it still builds, all tests are green.
+
+This is needed because some of the conflicting changes from multiple PRs might
cause build and test failures
+after merge even if they do not fail in isolation.
+
+#### Scheduled runs
+
+Those runs are results of (nightly) triggered job - only for `master` branch.
The
+main purpose of the job is to check if there was no impact of external
dependency changes on the Apache
+Beam code (for example transitive dependencies released that fail the build).
Another reason for the nightly
+build is that the builds tags most recent master with `nightly-master`.
+
+All runs consist of the same jobs, but the jobs behave slightly differently or
they are skipped in different
+run categories. Here is a summary of the run categories with regards of the
jobs they are running.
+Those jobs often have matrix run strategy which runs several different
variations of the jobs
+(with different platform type / Python version to run for example)
+
+| Job | Description
| Pull
Request Run | Direct Push/Merge Run | Scheduled Run | Requires GCP Credentials |
Review comment:
As I mentioned in comment above, I will add them in PR which introduce
them to avoid discrepancy.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 464510)
Time Spent: 1h (was: 50m)
> Add documentation about CI on GitHub Action
> -------------------------------------------
>
> Key: BEAM-10599
> URL: https://issues.apache.org/jira/browse/BEAM-10599
> Project: Beam
> Issue Type: Improvement
> Components: testing
> Reporter: Tobiasz Kedzierski
> Assignee: Tobiasz Kedzierski
> Priority: P2
> Time Spent: 1h
> Remaining Estimate: 0h
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)