Well, I'm going to answer your question one by one.

1. Help to build a user-friendly and high availability continuous
> integration(CI) environment and trigger the CI build each time a GitHub PR
> is created or updated.
> I found that Travis CI has been integrated into the project which has met
> the issue's requirements.  After my investigation, I believe Travis CI is
> the best choice for our project, which is an open source project that might
> need a free MAC image. So, does the CI referred in the issue specially
> means Travis CI?


Yes, according to ASF's policy[1], Travis CI and Jenkins are the only two
options you have. I'd prefer Travis CI, which is more modern and easy to
use compared to Jenkins. But as you already know, Travis CI of Weex is
broken for a while as it doesn't provide a NDK downloading API. I am still
trying to fix it, have a look at the PR [2].

2. Help to build a mobile test infrastructure which provides the ability of
> Android and iOS UI/interface test upon the CI environment.
> Does this specifically mean writing UITest for UI components, such as
> <image> and <text> etc.


No.  Test infrastructure here is a big words, which include the following
things at least:

   - Unit Test. You can use Junit for Java code and Google Test for C++
   code or any other tools you'd like to use.
   - UI Test. We used to run UI test on Macaca but it's broken for a long
   time. Based on its poor behavior and limited ability, I'd personally
   suggest you consider some other tools.
   - Memory Test. Base on my research.  ASAN[3] is a really good to for C++
   Memory leak test.
   - Performance Test . Though we don't have a proper solution now, but I
   don't think this is a difficult task. You can just start the app, run some
   case, calculating the time spent.
   - Other format tests you can image.

All the test mentioned above should run the CI platform (e.g. Travis CI)

3. Help to build a static code lint system
> I found out that Weex will choose ESLint as the default Code Lint tool
> when installing, and both the Vue and Rax can use ESLint for static code
> analysis. So does "help to build the static Code Lint system" refer to
> incubator-weex Project itself?


Weex includes C++, Java, Objective C and JavaScript codes. ESLint is only
available for JavaScript code, which doesn't get changed over months. You
should focus on Lint tools for C++, Java, Objective C. The lint system is
expected to run on the CI platform as well.

Finally, is there any specific content requirements and templates that I
> have to follow in my proposal? For example, the Proposal of GSOC includes
> Project Description, Project Outline, and Timeline, etc. Or is there any
> suggestions?


There is a time schedule and FAQ[4], but for other parts, I am afraid the
answer is No. We don't have a template now, after all, this is the first
year of ASOC(Alibaba Summer Of Code).

BTW: You may change the opening line of the mail to Community, Contributor
or Committer next time as Mentor[4] has special meaning in Apache Incubator.

[1]
https://lists.apache.org/thread.html/3645db8421407b247947820cab2dea33b817c08a1b12d20ce182dcaf@%3Cgeneral.incubator.apache.org%3E
[2] https://github.com/apache/incubator-weex/pull/2319
[3] https://source.android.com/devices/tech/debug/asan.html
[4] https://developer.aliyun.com/special/summerofcode2019en
[5] https://community.apache.org/mentoringprogramme.html


Best Regards,
YorkShen

申远


WM <[email protected]> 于2019年6月12日周三 下午10:16写道:

> Dear Mentors:
>
> My name is Renmin Wang, a second-year postgraduate student of national
> university of defense technology. I am interested about participating in
> Weex Project of Alibaba Summer of Code Project.
>
> After reading  High availability and continuous integration [#2421](
> https://github.com/apache/incubator-weex/issues/2421 <
> https://github.com/apache/incubator-weex/issues/2421>), I have the
> following questions, which I sincerely hope you can discuss with me:
>
>
> 1. Help to build a user-friendly and high availability continuous
> integration(CI) environment and trigger the CI build each time a GitHub PR
> is created or updated.
>
> I found that Travis CI has been integrated into the project which has met
> the issue's requirements.  After my investigation, I believe Travis CI is
> the best choice for our project, which is an open source project that might
> need a free MAC image. So, does the CI referred in the issue specially
> means Travis CI?
>
>
> 2. Help to build a mobile test infrastructure which provides the ability
> of Android and iOS UI/interface test upon the CI environment.
>
> Does this specifically mean writing UITest for UI components, such as
> <image> and <text> etc.
>
>
> 3. Help to build a static code lint system
>
> I found out that Weex will choose ESLint as the default Code Lint tool
> when installing, and both the Vue and Rax can use ESLint for static code
> analysis. So does "help to build the static Code Lint system" refer to
> incubator-weex Project itself?
>
>
> Finally, is there any specific content requirements and templates that I
> have to follow in my proposal? For example, the Proposal of GSOC includes
> Project Description, Project Outline, and Timeline, etc. Or is there any
> suggestions?
>
> I am trying my best on writing the proposal. At your convince, would you
> please give me some feedback? Due to the limited time for the proposal, a
> prompt reply is greatly appreciated.
>
>
> Best wishes,
>
> Renmin Wang
> 王仁敏

Reply via email to