Skip to content

Commit 23c0c1c

Browse files
committed
Added the core meetings directory with the first notes and topics that are being scheduled
1 parent 99ce2cf commit 23c0c1c

File tree

3 files changed

+69
-1
lines changed

3 files changed

+69
-1
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ The "RFC" (request for comments) process is intended to provide a consistent and
2424

2525
It is inspired by the [React RFC repo](https://github.com/reactjs/rfcs), but today we don't expect for every substantial change to go through this process; however, we hope that this brings more awareness to the community.
2626

27+
### Core Meetings
28+
29+
The core team regularly meets to discuss ongoing problems with the goal of drafting solution proposals. The [core meetings](core-meetings/README.md) directory contains meeting notes and topics for this process.
30+
2731
## CoC
2832

2933
Similarly to the main repository, this project has adopted a Code of Conduct that we expect project participants to adhere to. Please read [the full text](https://code.facebook.com/codeofconduct) so that you can understand what actions will and will not be tolerated.
@@ -35,4 +39,4 @@ Similarly to the main repository, this project has adopted a Code of Conduct tha
3539
- [ ] create templates for issues and PRs
3640
- [ ] migrate [For discussion](https://github.com/facebook/react-native/labels/For%20Discussion) issues from the main repo
3741
- [ ] complete and review the RFC process
38-
- [ ] add a dedicated folder for monthly meetings notes
42+
- [x] add a dedicated folder for monthly meetings notes

core-meetings/2018-07-ci-meeting.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Better CI, Testing, and Proposals: July 2018 Monthly Meeting
2+
3+
In case you missed [the release of 0.56](http://facebook.github.io/react-native/blog/2018/07/04/releasing-react-native-056), the teams behind React Native have been busy! Nevertheless, as stewards of React Native engineers worldwide, we've contemplated ways to improve alignment and visibility of the framework's direction, reason why we decided to bring back the monthly meetings, where community members and Facebook alike joined to discuss issues and propose responses.
4+
5+
The community team is made up of volunteers who help maintain React Native, contribute to education materials, and improve the React Native developer's environment.
6+
7+
## The core discussion
8+
9+
This month, the group chose to discuss React Native's continuous integration tooling.
10+
11+
The React Native repository has a complex [continuous integration suite](https://circleci.com/gh/facebook/react-native) that automatically tests pull requests and master to help guarantee quality. These tests are actually split into five separate suites, ranging from checking for Flow errors to iOS end to end testing. CI should give confidence that things are good when merging pull requests and making release candidates. Recently though, CI success has been a challenge. It's even caused slowdowns in making releases.
12+
13+
## Make CI stay green
14+
15+
In our discussion, the group identified two main problems with our use of CI today: automated test coverage is insufficient and Facebook inadvertently syncs problem changes.
16+
17+
### Better test coverage
18+
19+
While the goal of CI is to help gain confidence in merging PRs, many areas of the codebase don't have enough test coverage to offer that. For instance in the first stable release of 0.56, there was an issue using the CLI on Windows. There are many areas of the codebase today that lack robust tests in the Github repository.
20+
21+
One of the proposals is to offer faster landing of pull requests that include automated test coverage.
22+
23+
### Don't let master languish
24+
25+
As mentioned in [How to Contribute](https://facebook.github.io/react-native/docs/contributing#our-development-process), the Github repository mirrors an internal repository used at Facebook. Master commits are synced between the two by an automated process, but there are some differences between the two codebases (e.g. Facebook doesn't use Cocoapods or the CLI internally). Another difference is in CI: the internal repository uses Phabricator and the open source repository uses CircleCI. Due to factors beyond the React Native team, the CIs used by the community team and the Facebook team may not get to be exactly similar.
26+
27+
One of the proposals is to sync changes into a branch rather than directly into master. This is currently being drafted.
28+
29+
Another proposal is to file tickets internally at Facebook when one of their changes breaks the community CI. Hector is currently working on a bot for this.
30+
31+
Sometimes though, the trouble syncs are actually in React Native's dependencies like Yoga, Folly, and Metro. Facebook internally does not use version releases; they consider master to be the current version at all times. Sometimes changes to these break the CI, and that can be difficult to troubleshoot. A proposal was made to move all of these dependencies into the React Native repository, and a counter proposal was made to have the community maintain package releases of the dependencies.
32+
33+
## Increasing awareness
34+
35+
Community engagement was a recurring topic on the call. Most of the discussion focused on automation, but what about increasing knowledge transfer? There's a proposal on teaching about the "under the hood" parts powering React Native, creating a separate recurring monthly tech talk.
36+
37+
### Proposals
38+
39+
All of these proposals need a home, so we're creating a location and format for them. Our ambition is to bring these conversations into the public but not force a rigid process. We're working on this now.
40+
41+
This month's topic was CI, but we covered much more. Expect to see many of these proposals soon in this repository, where we hope you will help us make React Native even better.

core-meetings/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Core Meetings
2+
3+
The core team regularly meets to review technical and structural problems, creating proposals to address them. This directory contains information about these meetings, like the standing list of topics and notes from meetings.
4+
5+
## Meeting Topics
6+
7+
The topics listed below have ongoing meetings. Expect to see more notes and proposals on these subjects. Please note that this is not be an exhaustive list; members are welcome to introduce topics where there is opportunity to collaborate, and being listed is not a barrier to progress.
8+
9+
### Continuous Integration
10+
11+
Anything related to infrastructure and releasing React Native; state of PRs, current issues, and blockers from the CI point of view.
12+
13+
### ReasonML
14+
15+
ReasonML is growing in popularity and there's numerous attempts to bring first class React Native support. Discussion on the approaches underway and direction of the project.
16+
17+
### CLI
18+
19+
Everything related to the way we use command line to run React Native apps, linking, compiling, building and general developer experience.
20+
21+
## Meeting Notes
22+
23+
- [2018-07 Releases and Keeping CI green](2018-07-ci-meeting.md)

0 commit comments

Comments
 (0)