Opened 16 months ago

Last modified 5 months ago

#6220 new change

add CI for adblockpluscore

Reported by: sergz Assignee:
Priority: Unknown Milestone:
Module: Core Keywords:
Cc: kzar, hfiguiere, tlucas, mjethani, erikvold Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29663680/
https://codereview.adblockplus.org/29663688/
https://codereview.adblockplus.org/29714583/
https://codereview.adblockplus.org/29716557/
https://gitlab.com/eyeo/adblockplus/adblockpluscore/merge_requests/1
https://codereview.adblockplus.org/29875559/

Description (last modified by sergz)

Background

It will help a lot if we have CI for the core, mainly because we want to be sure that not only JS part but also the code which is used in native applications on different platforms (e.g. in libadblockplus-andoid) is at least compilable.

I propose to have a configuration for

  • travis-ci
    • [done] JavaScript (host-platforms: {linux, osx})
    • emscripten
      • should be done: target-platfom: android, host-platforms: {linux, osx}, native and optionally JS
      • done: JS for {linux, osx}, native for host and target platforms {linux, osx}
  • appveyor (windows, the same as travis-ci)
    • there is still neither eyeo nor adblockplus account
    • JavaScript: run tests in nodejs
      for present the default branch is set emscripten and it builds only emscripten branch in order to avoid broken builds for master merely because of the absence of the configuration.
    • emscripten
      • since there is no prebuilt emscripten for windows of our version we have to prepare and provide the binaries by our self.
      • catch up with custom user-config.h for native as for travis-ci
      • done: native
  • gitlab
    There is still a lot of room for work but the minimum is done.
  • optionally for circle-ci
    because we have a mirror on github which is easily integrable with the services, these services seem the most popular ones and everyone, who is willing to contribute, can easily and for free use them before sending a codereview/pull request.

What to change

  • ensure that CI status is failure when JS tests don't pass (for both, emscripten and JS)
  • Just do it. Details will come later because it can require additional investigations regarding preparation.

Notifications

Consider sending notifications with build statuses into IRC channel but only for the main repository.

Additional notes

This approach is already in a working form #5133 for libadblockplus.

Change History (21)

comment:1 Changed 16 months ago by kzar

I know Tristan is already playing with using GitLab for CI, so I think we should see what he thinks. Also I suspect this issue might come under the buildtools module. Either way I'd love to see more CI as well.

comment:2 Changed 16 months ago by tlucas

I am investigating CI with gitlab, yes - but i'm also evaluating travis-ci. No strong preference yet here.

comment:3 Changed 16 months ago by kzar

Awesome OK, well when you've got a better idea how our CI system will be setup let us know what changes we'll need to make to the adblockpluscore repository and we can update this issue.

comment:4 Changed 16 months ago by sergz

  • Review URL(s) modified (diff)

I have added two codereviews (so far only osx and linux) FYI. The first one is ready and working. The second one is not working right now because precompiled emscripten is linked with libraries which are incompatible with ones currently available by default on travis servers. Compiling of emscripten each time on the server is not an option, therefore I guess we will have to prepare and host a compatible version (BTW we do it already for v8 in libadblockplus). However, the rest should be correct. In addition, I have not tested the one for emscripten on osx because travis-ci is experiencing big troubles with osx machines right now.

comment:5 follow-up: Changed 16 months ago by kzar

Please could you add Tristan to the reviews as well? He's looking into CI at the moment.

comment:6 in reply to: ↑ 5 Changed 16 months ago by sergz

Replying to kzar:

Please could you add Tristan to the reviews as well? He's looking into CI at the moment.

He is already in CC.

comment:7 Changed 16 months ago by kzar

Whoops, sorry you're right.

comment:8 Changed 15 months ago by sergz

  • Description modified (diff)

comment:9 Changed 15 months ago by abpbot

A commit referencing this issue has landed:
Issue 6220 - add travis-ci configuration for adblockpluscore

comment:10 Changed 15 months ago by sergz

  • Description modified (diff)

I have added a link to https://travis-ci.org/adblockplus/adblockpluscore which is running tests for pushed branches containing travis-ci configuration, no limits, no auto-cancelling, no builds of pushed pull requests. For more details please check the doc and the settings page.

comment:11 Changed 14 months ago by abpbot

A commit referencing this issue has landed:
Issue 6220 - add travis-ci configuration for adblockpluscore

comment:12 Changed 14 months ago by sergz

  • Description modified (diff)

comment:13 Changed 14 months ago by sergz

  • Description modified (diff)
  • Review URL(s) modified (diff)

comment:14 Changed 14 months ago by abpbot

comment:15 Changed 14 months ago by sergz

  • Description modified (diff)

comment:16 Changed 14 months ago by sergz

  • Description modified (diff)
  • Review URL(s) modified (diff)

comment:17 Changed 14 months ago by sergz

  • Description modified (diff)

comment:18 Changed 14 months ago by abpbot

comment:19 Changed 14 months ago by sergz

  • Description modified (diff)

comment:20 Changed 8 months ago by sergz

  • Cc mjethani added
  • Description modified (diff)
  • Review URL(s) modified (diff)

comment:21 Changed 5 months ago by erikvold

  • Cc erikvold added
Note: See TracTickets for help on using tickets.