-
Notifications
You must be signed in to change notification settings - Fork 178
Travis: build packages and (eventually) run package tests on Travis (WIP, DO NOT MERGE) #1512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1512 +/- ##
===========================================
- Coverage 63.68% 50.9% -12.78%
===========================================
Files 946 438 -508
Lines 284375 232012 -52363
Branches 12725 10446 -2279
===========================================
- Hits 181094 118108 -62986
- Misses 100488 111119 +10631
+ Partials 2793 2785 -8
|
3fa2041 to
69762ae
Compare
10a647a to
a23f90a
Compare
d572e97 to
534b3a9
Compare
|
Yay, this finally fails in the right way ;-). Namely, while running package tests. I get test failures for these packages on Travis:
@alex-konovalov does cubefree run fine on Jenkins? |
|
@fingolfin cubefree runs fine in stable release in Docker container: https://travis-ci.org/gap-system/gap-docker-pkg-tests/jobs/219241646. On Jenkins in master branch it also runs fine, for example: |
|
@fingolfin see this newly created wiki page for the status of tests in the master branch: https://github.com/gap-system/gap/wiki/Package-tests-in-the-release-candidate-for-the-next-major-release. Also, if you need logs, please ask me. There will be an update of this table tonight or tomorrow. |
|
@fingolfin just in case, are you aware of the documented function |
|
I just run the @alex-konovalov Ah, no, I wasn't aware of |
indeed, except for packages that still do not conform to the latest advances in test organisation. |
You are absolutely right. On the short term, we may have to resort to insane output text parsing for those after all (and even then, my understanding is that some don't produce helpful results, right?). On the long run, I want to identify all such packages, and get their maintainers to improve that. On the really long run, we might even threaten to remove non-compliant packages... But that's in the far future, one step after the other. |
|
There are different grades of non-compliance here. In no particular order:
|
|
@alex-konovalov Here is my view on that:
|
|
So most package tests were run now by Travis. Note to self: We should perhaps have variants of this job which use
At this point, I don't get farther, because the test tends to exceed the maximum time Travis allows for tests (seems to b 50 minutes). So we may need to
|
|
Updated autogenerated table at https://github.com/gap-system/gap/wiki/Package-tests-in-the-release-candidate-for-the-next-major-release - now with the results of the tests with all packages loaded as well. |
c908e70 to
fafcd06
Compare
cd5ee26 to
7526d40
Compare
|
I have now put parts of this into PR #1610. The problem with package tests is that they still take too long to run. We could split this test into multiple, but it seems wasteful to re-compile GAP again and again. But Travis has a new (beta) feature called build stages, which perhaps we could use to solve this: With build stages, we can group and run jobs into multiple "stages": Jobs in the same stage are run in parallel, but stages are run sequentially. We could thus put all the Alternatively, we could also use that Travis allows us to build docker images somehow, but I am not (yet) familiar with that, and so don't know if it would actually work for us. |
7526d40 to
462e125
Compare
462e125 to
ad2dbb3
Compare
|
@fingolfin how much of this PR we would like to keep? We now have tests of packages that use regularly built docker containers (see Travis badges at https://github.com/gap-system/gap-distribution), where there is a separate Travis test for each package, and for each package that have a standard test (i.e. the one specified in PackageInfo.g) its standard tests will be run three times - without, with all, and with default packages loaded. |
|
I still find tests which are run directly on each PR much more useful than running tests separately (which means that regressions will only be noticed after a PR got merged, i.e. "when it is too late). However, with Travis' (understandable) limitations, this is not realistic at this time, so I am fine with closing this. |
|
Totally agree that tests before are better than tests after, but certainly with Travis limitations we have to prioritise. At least with those tests after, we run them next day; they are public so we can point others to them; and there are individual jobs per package, so convenient to see their status per package. |
|
@fingolfin perhaps a sensible extension would be to check after building packages that packages are loadable. A variation of Update: see now #2119 |
This is WIP, more details will be added when I actually managed to do something useful