The ARM CI trigger has been changed to `github comment` way only. It means
that every PR won't start ARM test unless a comment `check_arm` is added.
Like what I did in the PR[1].

A POC for Flink nightly end to end test job is created as well[2]. I'll
improve it then.

Any feedback or question?


[1]: https://github.com/apache/flink/pull/9416
     https://github.com/apache/flink/pull/9416#issuecomment-527268203
[2]: https://github.com/theopenlab/openlab-zuul-jobs/pull/631


Thanks

Xiyuan Wang <wangxiyuan1...@gmail.com> 于2019年8月26日周一 下午7:41写道:

> Before ARM CI is ready, I can close the CI test for each PR and let it
> only be triggered by PR comment.  It's quite easy for OpenLab to do this.
>
> OpenLab have many job piplines[1].  Now I use `check` pipline in
> https://github.com/apache/flink/pull/9416. The job trigger contains
> github_action and github_comment[2]. I can create a new pipline for Flink,
> the new trigger can only contain github_coment like:
>
> trigger:
>   github:
>  - event: pull_request
>    action: comment
>    comment: (?i)^\s*recheck_arm_build\s*$
>
> So that the ARM job will not be ran for every PR. It'll be just ran for
> the PR which have `recheck_arm_build` comment.
>
> Then once ARM CI is ready, I can add it back.
>
>
> nightly tests can be added as well of couse. There is a kind of job in
> OpenLab called `periodic job`. We can use it for Flink daily nightly tests.
> If any error occur, the report can be sent to bui...@flink.apache.org  as
> well.
>
> [1]:
> https://github.com/theopenlab/openlab-zuul-jobs/blob/master/zuul.d/pipelines.yaml
> [2]:
> https://github.com/theopenlab/openlab-zuul-jobs/blob/master/zuul.d/pipelines.yaml#L10-L19
>
> Stephan Ewen <se...@apache.org> 于2019年8月26日周一 下午6:13写道:
>
>> Adding CI builds for ARM makes only sense when we actually take them into
>> account as "blocking a merge", otherwise there is no point in having them.
>> So we would need to be prepared to do that.
>>
>> The cases where something runs in UNIX/x64 but fails on ARM are few cases
>> and so far seem to have been related to libraries or some magic that tries
>> to do system dependent actions outside Java.
>>
>> One worthwhile discussion could be whether to run the ARM CI builds as
>> part
>> of the nightly tests, not on every commit.
>> There are a lot of nightly tests, for example for different Java / Scala /
>> Hadoop versions.
>>
>> On Mon, Aug 26, 2019 at 10:46 AM Xiyuan Wang <wangxiyuan1...@gmail.com>
>> wrote:
>>
>> > Sorry, maybe my words is misleading.
>> >
>> > We are just starting adding ARM support. So the CI is non-voting at this
>> > moment to avoid blocking normal Flink development.
>> >
>> > But once the ARM CI works well and stable enough. We should mark it as
>> > voting. It means that in the future, if the ARM test is failed in a PR,
>> the
>> > PR can not be merged. The test log may tell develpers what error is
>> > comming. If the develper need debug the detail on an ARM vm, OpenLab can
>> > provider it.
>> >
>> > Adding ARM CI can make sure Flink support ARM originally
>> >
>> > I left a workflow in the PR, I'd like to print it here:
>> >
>> >    1. Add the basic build script to ensure the CI system and build job
>> >    works as expect. The job should be marked as non-voting first, it
>> means the
>> >    CI test failure won't block Flink PR to be merged.
>> >    2. Add the test script to run unit/intergration test. At this step
>> the
>> >    --fn parameter will be added to mvn test. It will run the full test
>> cases
>> >    in Flink, so that we can find what test is failed on ARM.
>> >    3. Fix the test failure one by one.
>> >    4. Once all the tests are passed, remove the --fn parameter and keep
>> >    watch the CI's status for some days. If some bugs raise then, fix
>> them as
>> >    what we usually do for travis-ci.
>> >    5. Once the CI is stable enought, remove the non-voting tag, so that
>> >    the ARM CI will be the same as travis-ci, to be one of the gate for
>> Flink
>> >    PR.
>> >    6. Finally, Flink community can announce and release Flink ARM
>> version.
>> >
>> >
>> > Chesnay Schepler <ches...@apache.org> 于2019年8月26日周一 下午2:25写道:
>> >
>> >> I'm sorry, but if these issues are only fixed later anyway I see no
>> >> reason to run these tests on each PR. We're just adding noise to each
>> PR
>> >> that everyone will just ignore.
>> >>
>> >> I'm curious as to the benefit of having this directly in Flink; why
>> >> aren't the ARM builds run outside of the Flink project, and fixes for
>> it
>> >> provided?
>> >>
>> >> It seems to me like nothing about these arm builds is actually handled
>> >> by the Flink project.
>> >>
>> >> On 26/08/2019 03:43, Xiyuan Wang wrote:
>> >> > Thanks for Stephan to bring up this topic.
>> >> >
>> >> > The package build jobs work well now. I have a simple online demo
>> which
>> >> is
>> >> > built and ran on a ARM VM. Feel free to have a try[1].
>> >> >
>> >> > As the first step for ARM support, maybe it's good to add them now.
>> >> >
>> >> > While for the next step, the test part is still broken. It relates to
>> >> some
>> >> > points we find:
>> >> >
>> >> > 1. Some unit tests are failed[1] by Java coding. These kind of
>> failure
>> >> can
>> >> > be fixed easily.
>> >> > 2. Some tests are failed by depending on third part libaraies[2]. It
>> >> > includes frocksdb, MapR Client and Netty. They don't have ARM
>> release.
>> >> >      a. Frocksdb: I'm testing it locally now by `make check_some` and
>> >> `make
>> >> > jtest` similar with its travis job. There are 3 tests failed by `make
>> >> > check_some`. Please see the ticket for more details. Once the test
>> pass,
>> >> > frocksdb can release ARM package then.
>> >> >      b. MapR Client. This belongs to MapR company. At this moment,
>> >> maybe we
>> >> > should skip MapR support for Flink ARM.
>> >> >      c. Netty. Actually Netty runs well on our ARM machine. We will
>> ask
>> >> > Netty community to release ARM support. If they do not want, OpenLab
>> >> will
>> >> > handle a Maven Repository for some common libraries on ARM.
>> >> >
>> >> >
>> >> > For Chesnay's concern:
>> >> >
>> >> > Firstly, OpenLab team will keep maintaining and fixing ARM CI. It
>> means
>> >> > that once build or test fails, we'll fix it at once.
>> >> > Secondly,  OpenLab can provide ARM VMs to everyone for reproducing
>> and
>> >> > testing. You just need to creat a  Test Request issue in openlab[1].
>> >> Then
>> >> > we'll create ARM VMs for you, you can  login and do the thing you
>> want.
>> >> >
>> >> > Does it make sense?
>> >> >
>> >> > [1]: http://114.115.168.52:8081/#/overview
>> >> > [1]: https://issues.apache.org/jira/browse/FLINK-13449
>> >> >        https://issues.apache.org/jira/browse/FLINK-13450
>> >> > [2]: https://issues.apache.org/jira/browse/FLINK-13598
>> >> > [3]: https://github.com/theopenlab/openlab/issues/new/choose
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > Chesnay Schepler <ches...@apache.org> 于2019年8月24日周六 上午12:10写道:
>> >> >
>> >> >> I'm wondering what we are supposed to do if the build fails?
>> >> >> We aren't providing and guides on setting up an arm dev
>> environment; so
>> >> >> reproducing it locally isn't possible.
>> >> >>
>> >> >> On 23/08/2019 17:55, Stephan Ewen wrote:
>> >> >>> Hi all!
>> >> >>>
>> >> >>> As part of the Flink on ARM effort, there is a pull request that
>> >> >> triggers a
>> >> >>> build on OpenLabs CI for each push and runs tests on ARM machines.
>> >> >>>
>> >> >>> Currently that build is roughly equivalent to what the "core" and
>> >> "tests"
>> >> >>> profiles do on Travis.
>> >> >>> The result will be posted to the PR comments, similar to the Flink
>> >> Bot's
>> >> >>> Travis build result.
>> >> >>> The build currently passes :-) so Flink seems to be okay on ARM.
>> >> >>>
>> >> >>> My suggestion would be to try and add this and gather some
>> experience
>> >> >> with
>> >> >>> it.
>> >> >>> The Travis build results should be our "ground truth" and the ARM
>> CI
>> >> >>> (openlabs CI) would be "informational only" at the beginning, but
>> >> helping
>> >> >>> us understand when we break ARM support.
>> >> >>>
>> >> >>> You can see this in the PR that adds the openlabs CI config:
>> >> >>> https://github.com/apache/flink/pull/9416
>> >> >>>
>> >> >>> Any objections?
>> >> >>>
>> >> >>> Best,
>> >> >>> Stephan
>> >> >>>
>> >> >>
>> >>
>> >>
>>
>

Reply via email to