Skip to content
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

travis-ci: use docker for test builds #392

Merged
merged 9 commits into from Oct 20, 2018

Conversation

Projects
None yet
4 participants
@grondo
Copy link
Contributor

grondo commented Oct 5, 2018

I went ahead and copied over the docker scripts from flux-core to get flux-sched building with docker as well. Unfortunately, I wasn't clever enough to write the scripts so they could be exactly shared between different flux-* projects, so the copies here are modified slightly, but work generally the same.

The other difference is that the flux-sched Dockerfiles pull directly from fluxrm/flux-core:${IMAGE}-latest, i.e. from the docker images auto-deployed from the flux-core travis builds. If a branch or PR of flux-sched ever requires a specific version of flux-core, the Dockerfiles could be modified to instead pull for fluxrm/flux-core:${IMAGE}-vx.y.z to get the tagged flux-core instead.

I also copied over support for TAP_DRIVER_QUIET in tap-driver.sh.

grondo added some commits Oct 4, 2018

travis-ci: add support for docker builds
Add support infrastructure for docker builds of flux-sched on
Ubuntu bionic and CentOS 7, mostly taken from flux-core.
tap-driver.sh: add quiet mode from flux-core
Copy tap-driver.sh from flux-core to get support for
TAP_DRIVER_QUIET quiet mode of the TAP driver script.
t2002-easy.t: fix broken &&-chain
Running this test with --chain-lint uncovered a broken &&-chain.
Fix the test.

@grondo grondo force-pushed the grondo:travis-docker branch from e416756 to c172446 Oct 5, 2018

@codecov-io

This comment has been minimized.

Copy link

codecov-io commented Oct 5, 2018

Codecov Report

Merging #392 into master will decrease coverage by 0.55%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #392      +/-   ##
==========================================
- Coverage      76%   75.45%   -0.56%     
==========================================
  Files          64       65       +1     
  Lines       10175    10512     +337     
==========================================
+ Hits         7734     7932     +198     
- Misses       2441     2580     +139
Impacted Files Coverage Δ
rdl/test/jansson-test.c 57.14% <0%> (-38.1%) ⬇️
resource/jobinfo/jobinfo.cpp 78.57% <0%> (-21.43%) ⬇️
resource/generators/spec.cpp 49.29% <0%> (-5.25%) ⬇️
resource/evaluators/edge_eval_api.hpp 80.76% <0%> (-3.24%) ⬇️
resrc/test/tresrc.c 94.08% <0%> (-2.31%) ⬇️
simulator/simsrv.c 75.6% <0%> (-2.06%) ⬇️
simulator/sim_execsrv.c 83.65% <0%> (-1.5%) ⬇️
resource/utilities/resource-query.cpp 36.43% <0%> (-1.47%) ⬇️
resource/schema/sched_data.cpp 60.52% <0%> (-1.24%) ⬇️
src/common/libutil/log.c 27.65% <0%> (-1.23%) ⬇️
... and 43 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e67f932...3b48403. Read the comment docs.

@SteVwonder
Copy link
Member

SteVwonder left a comment

Thanks for putting this together @grondo!

Show resolved Hide resolved src/test/docker/bionic/Dockerfile
Show resolved Hide resolved src/test/docker/centos7/Dockerfile
Show resolved Hide resolved t/t2002-easy.t
.travis.yml Outdated
env:
global:
- TAP_DRIVER_QUIET=1
- DOCERREPO=fluxrm/flux-sched

This comment has been minimized.

Copy link
@SteVwonder

SteVwonder Oct 5, 2018

Member

DOCERREPO -> DOCKERREPO

This comment has been minimized.

Copy link
@grondo

grondo Oct 5, 2018

Author Contributor

Oh, good catch! That would have been unfortunate.

travis-ci: switch to docker
Switch .travis.yml to use docker-run-checks.sh and build with
docker instead of flux-core's travis-dep-builder.sh.

@grondo grondo force-pushed the grondo:travis-docker branch from c172446 to a3b8b5b Oct 8, 2018

grondo added some commits Oct 8, 2018

testsuite: update flux-sharness.sh from flux-core
Add most recent sharness.d/flux-sharness.sh from flux-core to
flux-sched to pick up minor changes and fixes.
t5000-valgrind.t: add timeout
Prooblem: The t5000-valgrind.t test often hangs.

Add a timeout to change the hang into a failure, with hopes of
eventually debugging the cause of the hangs.
@grondo

This comment has been minimized.

Copy link
Contributor Author

grondo commented Oct 8, 2018

I added another couple fixes to this PR:

  • incorporate minor recent updates to t/sharness.d/flux-sharness.sh from flux-core
  • add timeout to the valgrind test as was done in flux-core (I think one builder hung in valgrind on my latest push, the timeout will help with debug if it happens again.)
@dongahn

This comment has been minimized.

Copy link
Contributor

dongahn commented Oct 19, 2018

@grondo and @SteVwonder: Is this PR ready to go in. Do you want me to review this also?

@SteVwonder

This comment has been minimized.

Copy link
Member

SteVwonder commented Oct 19, 2018

@grondo, do you mind adding to this PR the fix for the --interactive flag that was merged into core?

I'm also fine if we merge this PR as-is and then follow it up with the fix.

@grondo

This comment has been minimized.

Copy link
Contributor Author

grondo commented Oct 19, 2018

@SteVwonder, I've pulled in your two commits related to the docker test script into this PR, which includes the --interactive fix and the addition of CAP_SYS_PTRACE.

@dongahn

This comment has been minimized.

Copy link
Contributor

dongahn commented Oct 19, 2018

One Travis configuration failed. I think it is intermittent. Let me kick it again.

@dongahn

This comment has been minimized.

Copy link
Contributor

dongahn commented Oct 19, 2018

Once that turns green, I will merge this in and then rebase #394 on top of that.

@grondo

This comment has been minimized.

Copy link
Contributor Author

grondo commented Oct 19, 2018

@dongahn, code coverage drop is a known (but not yet investigated) side effect of moving to docker.

@dongahn

This comment has been minimized.

Copy link
Contributor

dongahn commented Oct 20, 2018

Thanks @grondo!

@dongahn dongahn merged commit 8f8cf83 into flux-framework:master Oct 20, 2018

2 of 3 checks passed

codecov/project 75.45% (-0.56%) compared to e67f932
Details
codecov/patch Coverage not affected when comparing e67f932...3b48403
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@grondo grondo deleted the grondo:travis-docker branch Jan 11, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.