Skip to content

reduce Travis-CI workload#6023

Merged
MartinNowak merged 1 commit intodlang:masterfrom
MartinNowak:faster_travis_ci
Aug 7, 2016
Merged

reduce Travis-CI workload#6023
MartinNowak merged 1 commit intodlang:masterfrom
MartinNowak:faster_travis_ci

Conversation

@MartinNowak
Copy link
Member

@MartinNowak MartinNowak commented Aug 6, 2016

  • use only half of the workers by running self-compilation
    tests after normal tests
  • only recompile and retest dmd, not druntime/phobos

depends on #6022

@codecov-io
Copy link

codecov-io commented Aug 6, 2016

Current coverage is 87.42% (diff: 100%)

No coverage report found for master at cf0a174.

Powered by Codecov. Last update cf0a174...68c4000

- use only half of the workers by running self-compilation
  tests after normal tests
- only recompile and retest dmd, not druntime/phobos
@MartinNowak
Copy link
Member Author

Half an hour, not that much, but still halves the number of jobs we're enqueuing.

@wilzbach
Copy link
Contributor

wilzbach commented Aug 6, 2016

Maybe we should also cancel builds if more recent commits have been pushed?

I couldn't find a setting for Travis CI (there is one for CircleCI, "Advanced Settings” -> “Auto-cancel builds”), but I guess the only thing that might work is a bot that does this auto-canceling like travis_dedup. Thus deploying travis_dedup to heroku might be a simple solution, depending on our CI load one might need to verify the account there (unverified accounts get 550 hours / month (=23 days), verified 1000 hours / month (=41days), a dyno sleeps after 30 minutes of inactivity and is automatically waked up on incoming requests more . What do you think @MartinNowak? Worth deploying or using option (c) to install the checker & cancel at the beginning of the build?

@WalterBright
Copy link
Member

use only half of the workers by running self-compilation tests after normal tests

I presume that also means that if any of the normal tests fail, the coverage tests are not run? Makes sense.

@MartinNowak
Copy link
Member Author

I presume that also means that if any of the normal tests fail, the coverage tests are not run? Makes sense.

No, the coverage stuff runs in parallel on CircleCI independent of what happens w/ Travis-CI.
But you're right, if a test fails early on, we're saving the computation to figure out that the self-compiled dmd would also fail.

@MartinNowak
Copy link
Member Author

MartinNowak commented Aug 6, 2016

Maybe we should also cancel builds if more recent commits have been pushed?

Could easily add that functionality to dlang-bot, that already runs 24/7 and gets all the github hooks.

@MartinNowak
Copy link
Member Author

Auto-merge toggled on

@MartinNowak MartinNowak merged commit 2cf8ddb into dlang:master Aug 7, 2016
@MartinNowak MartinNowak deleted the faster_travis_ci branch August 7, 2016 01:02
@MartinNowak
Copy link
Member Author

MartinNowak commented Aug 7, 2016

Could easily add that functionality to dlang-bot, that already runs 24/7 and gets all the github hooks.

check and cancel redundant Travis-CI builds · MartinNowak/dlang-bot@875d76c
need to wait for Travis-CI to schedule build · MartinNowak/dlang-bot@9ee928f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants