nifi-minifi-cpp icon indicating copy to clipboard operation
nifi-minifi-cpp copied to clipboard

MINIFICPP-1888 Move all extension builds to CentOS job

Open lordgamez opened this issue 3 years ago • 3 comments

With more extensions added to be turned on by default, the centos build targeting the default extensions takes longer to finish. To make sure we can build on both ubuntu and CentOS and to minimize the CI resources used, all extension builds that are available in the CentOS docker build are moved to the CentOS job and tests are run on CentOS and in the clang Ubuntu build.

https://issues.apache.org/jira/browse/MINIFICPP-1888


Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.

In order to streamline the review of the contribution we ask you to ensure the following steps have been taken:

For all changes:

  • [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

  • [ ] Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

  • [ ] Has your PR been rebased against the latest commit within the target branch (typically main)?

  • [ ] Is your initial contribution a single, squashed commit?

For code changes:

  • [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • [ ] If applicable, have you updated the LICENSE file?
  • [ ] If applicable, have you updated the NOTICE file?

For documentation related changes:

  • [ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:

Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.

lordgamez avatar Jul 21 '22 21:07 lordgamez

I would rather start disabling a few extensions here and there. We should test the core everywhere, but testing everything everywhere might be more excessive than it's worth it.

I would disable AWS, GCP, Kafka, SQL and Civetweb on centos (and maybe on mac os), since they pull in dependency libs that take some time to compile.

szaszm avatar Jul 21 '22 21:07 szaszm

I would rather start disabling a few extensions here and there. We should test the core everywhere, but testing everything everywhere might be more excessive than it's worth it.

I would disable AWS, GCP, Kafka, SQL and Civetweb on centos (and maybe on mac os), since they pull in dependency libs that take some time to compile.

I thought the reason for adding new default extensions was to include them in the centos build by default, but then I'm mistaken.

lordgamez avatar Jul 21 '22 21:07 lordgamez

I did it in #1341, since I thought that these extensions are stable and well tested, there's not much reason a user wouldn't want to build and have them. Released convenience binaries should contain these. If a user doesn't want the functionality, they can just remove the extension .so/.dlls from their installation.

The CI is a different beast, since it's costing the ASF money per machine minute. We can use it, but we should make an effort to not overuse it, and testing extensions once or twice on a linux is probably good enough coverage.

edit: The recommended list is starting to look like the same processors that were enabled by default back then. I forgot to mention Azure, but it also depends on a third party that might take long to build. Splunk only depends on curl, which is kind of core, and procfs doesn't depend on anything. Let's wait for input from others before changing this, btw.

szaszm avatar Jul 21 '22 23:07 szaszm