|
I changed the job to run rake clean instead of rake clean[all] to start with. This keeps the installed gems in the workspace. Build time is down to 40 sec.
A few more comments.
Waiting 2:30 minutes is not a big problem individually but it adds up to other builds the CI server is being paid for: we use a limited set of executors to prevent heavy parallel testsuites, so to counter that we'd need to reconfigure all other projects to use a different strategy to do resource control locking.
Come on, ORM has a build time of 50 minutes, the other projects between 10 and 15min. 2:30 seems hardly the place where one would look for to start saving time.
Shall we make a nightly build run it with that 'rake clean[all]' option?
I don't think it will be necessary. I am fine with keeping the gems in the local workspace, even though a proper build from scratch would be even better imo. -1 for even more jobs. This just leads to a proliferation of jobs on the ci server. In fact we are already on the best way to get into a situation where it becomes hard again to find what you are looking for.
I don't think we'll be changing gems on a daily base
true
especially considering that for some gems you need to login as root and install dependencies :-/
that should not be necessary, or at least only rarely. Also, the once getting installed are the once needed by awestruct, whereas the once we install on the server (rake and bundler) are general gems. Really it is comparable to installing a JDK and Maven.
Or like with Maven, keep a cache of downloaded gems externally to the project?
-1, having the maven repo externally to the project is actually bad and one of the reasons why there is for example an option in the MAven configuration to have a per project in workspace cache. Having this external cache can introduce or hide build problems.
|