[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-12 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
merging.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-12 Thread rmetzger
Github user rmetzger commented on the issue:

https://github.com/apache/flink/pull/4233
  
I think this looks good.
It's basically a change now restricted to the build system only.

+1 to give it a try on master and see how things go with it.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-12 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
yes we could build with parallel builds, although i encountered the storm 
module acting up once.

It also, at least in early prototypes, didn't provide a big improvement. 
(iirc 1 minute when building Flink completely) The results may be different now.

That said, I would defer further tinkering on small details to follow-ups, 
since local builds are still timing out and I don't want to delay this further 
unless something is actually broken.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-12 Thread greghogan
Github user greghogan commented on the issue:

https://github.com/apache/flink/pull/4233
  
@aljoscha true. Now that proportionally more time is spent compiling we may 
be able to enable parallel builds for the compilation phase. I think most 
issues were with running tests where dependencies were not properly configured.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-12 Thread aljoscha
Github user aljoscha commented on the issue:

https://github.com/apache/flink/pull/4233
  
I would hope so, because the number of version combinations we check is 
also halved. 😉 



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-12 Thread greghogan
Github user greghogan commented on the issue:

https://github.com/apache/flink/pull/4233
  
+1; total run time has dropped by almost half


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-11 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
I've reworked the "misc" group. There is no longer a dedicated list of 
modules for this group, but instead we test all modules that aren't included in 
any other group.

All other groups have a comma-separated list of modules to test, like 
`flink-runtime,flink-core`. For the "Misc" group we concatenate those lists and 
negate them, like `!flink-runtime,!flink-core`. What's left is the modules that 
aren't contained in another group, which means all new modules would be run 
automatically.

The compilation step of this group simply builds flink completely; this was 
basically required anyway since the group contained flink-dist.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-11 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
I've got an idea on how to make sure that all modules are guaranteed to be 
covered, sit tight...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-11 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
There's no verification, and i don't think that this is a blocking issue. 
We can verify it now manually and open an issue to add some magic later on.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-11 Thread aljoscha
Github user aljoscha commented on the issue:

https://github.com/apache/flink/pull/4233
  
This looks nice now! Is there verification, though, that we didn't forget 
any modules in the list of tested modules?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-11 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
@aljoscha @rmetzger I've reworked this PR, could you take another look?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-06 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
We can do this in a more centralized way using the `-pl` option as 
@aljoscha suggested (see https://github.com/zentol/flink/tree/7047_alt2), but 
this is blocked by FLINK-7112 & FLINK-7112.

https://travis-ci.org/zentol/flink/builds/250679622


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-05 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
Currently experimenting with specifying every module to test using the 
`-pl` option.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
`mvn verify` now works as it should, execution tests and stuff.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
@rmetzger I can fix the issue with verify by reverting the profile logic. 
Instead of activating the surefire plugin in each module, the plugin is enabled 
by default in the root pom but disabled in the profile of each module if the 
property is set


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
@rmetzger Now i understand why the tests aren't run. I thought that I was 
activating the profiles with the properties in the root pom.xml, but this isn't 
the case. I was just setting the system properties in the travis scripts...

back to the drawing board i guess...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
WIth the existing surefire configuration we also cannot do this in 2 steps, 
one for compilation and one for tests. It is not possible to only run tests 
with any maven invocation that includes a life-cycle (i.e verify), which means 
that you have to recompile some modules twice which isn't an option because 
scala compilation is so utterly horrible.

You _could_ theoretically cd into each project after compilation and 
directly invoke the surefire plugin, but this doesn't work as we have 2 
executions (1 for unit tests, 1 for IT cases), and when invoking a plugin 
directly you can at most run 1 execution and it has to be named either 
"default-test" or "default-cli". This would be possible in maven 3.3.1, but we 
can't use that without messing with the shading, We could use maven 3.3.X if we 
split the repo and add a separate one for flink-dist, but that's not gonna 
happen anytime soon.

We could directly invoke the surefire plugin if we merged our surefire 
executions, but then we're still left with the problem of having to keep the 
travis scripts in sync with the directory structure of the project.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
another more sane option would be to add a new module for each group that 
has a dependency for each module we want tested. THEN we could use the `-am` 
option.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
corrected my previous comment regarding the problems of `-am` and `-amd`.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
`mvn verify` _should_ run all tests since the default for all added 
properties is true. But yes, it currently doesn't. I don't quite understand 
this as the default for all groups is true (i.e. all test profiles should 
activate) and I'm not modifying the phases of these profiles.

Maven's `-am` and `-amd` options don't work for us since these don't build 
dependencies marked as provided, i.e. most core flink dependencies. You can 
easily verify this yourself.

Maven's `-pl` command is a bit brittle in general as we have to include 
every single module; we can't just point to flink-libraries and call it a day. 
This adds a maintainability problem; a new module will not be tested on travis 
if the contributor/reviewer isn't aware of the magic in the travis scripts. 
This is less likely with the approach in this PR as part of the magic is in the 
poms which are more likely to be seen by a developer.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread greghogan
Github user greghogan commented on the issue:

https://github.com/apache/flink/pull/4233
  
@aljoscha this may be caused by publishing pom's with unresolved 
`${scala.binary.version}`. I am planning to file a ticket after #4221 is 
merged. The StackOverflow link looks promising.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread aljoscha
Github user aljoscha commented on the issue:

https://github.com/apache/flink/pull/4233
  
There's also this interesting approach which limits changes to the root 
POM: https://stackoverflow.com/a/39562385/4770039


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread aljoscha
Github user aljoscha commented on the issue:

https://github.com/apache/flink/pull/4233
  
I think we should be able to do this as a two-step process without changing 
the poms:

```
mvn install -pl flink-tests,flink-foo-bar -am -DskipTests 
-Dmaven.javadoc.skip=true
mvn verify -pl flink-tests,flink-foo-bar -Dmaven.javadoc.skip=true
```

The first line will make sure that we have all the dependencies built, the 
second one only executes the tests in the given submodules. We cannot do it as 
one step because running `mvn verify -pl flink-tests,... -am` would run the 
tests also on all dependencies of `flink-test,...`.

However, it seems we can't do this because the second incantation fails 
with 
```
[WARNING] Some problems were encountered while building the effective model 
for org.apache.flink:flink-scala-shell_2.11:jar:1.4-SNAPSHOT
[WARNING] 'artifactId' contains an expression but should be a constant. @ 
org.apache.flink:flink-scala-shell_${scala.binary.version}:[unknown-version], 
/Users/aljoscha/Dev/flink/flink-scala-shell/pom.xml, line 30, column 14
```

that is including the Scala version in our artifact IDs broke this.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-04 Thread rmetzger
Github user rmetzger commented on the issue:

https://github.com/apache/flink/pull/4233
  
So executing `mvn clean verify` won't run the tests, right?

Have you considered doing this, basically without touching the pom files at 
all?
Basically by having a script that says 
"cd flink-core; mvn install
cd flink-runtime; mvn install
cd flink-tests; mvn verify
"
I think there's also a command to tell maven "build all your dependencies"


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-03 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
I've moved a few more modules into the misc. group:
* flink-metrics
* flink-java8
* flink-streaming-contrib
* flink-scala-shell

For the core group we now only compile modules that the core modules 
actually depend on, reducing the core build time to 30 minutes: 
https://travis-ci.org/zentol/flink/builds/249710980


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-07-03 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
Note that we can further reduce the build-time of the core profile to ~35 
minutes by skipping the compilation libraries/connectors. At least we should, 
if it weren't for flink-7070...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-06-30 Thread zentol
Github user zentol commented on the issue:

https://github.com/apache/flink/pull/4233
  
I would merge this PR in any case. It's a nice short-term option that is 
more stable than the previous approach; regardless of how many times we add in 
flink-runtime we can still test connectors/libs and vice versa.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] flink issue #4233: [FLINK-7047] [travis] Reorganize build profiles

2017-06-30 Thread greghogan
Github user greghogan commented on the issue:

https://github.com/apache/flink/pull/4233
  
@zentol could you start a mailing list discussion and describe your 
preference for splitting the tests in this manner or splitting the repo? 
Despite heroic efforts by you and Robert keeping the test times under the 
timeout continues to be a Sisyphean task. The number of tests never truly drops 
so the test times will only decrease on the off chance that TravisCI bumps the 
number of cores (or Google increases CPU performance, which they have never 
done).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---