Skip to content

AppVeyor speed-ups#9454

Merged
dra27 merged 6 commits intoocaml:trunkfrom
dra27:faster-appveyor
Apr 20, 2020
Merged

AppVeyor speed-ups#9454
dra27 merged 6 commits intoocaml:trunkfrom
dra27:faster-appveyor

Conversation

@dra27
Copy link
Copy Markdown
Member

@dra27 dra27 commented Apr 17, 2020

This morning I tweaked rolling builds configuration on AppVeyor to help the 4.11 release cycle. AppVeyor now cancels builds when a new commit is pushed either to a PR or to a branch. This should help, as multiple PRs merging clog up AppVeyor while it builds trunk commits which we already know will work.

This PR aims to lower the AppVeyor runtime a bit further with two headline changes:

  • Non-PR builds are compiled with make -j (AppVeyor workers have 2 vCPUs). I've done this for branches (i.e. trunk and 4.11) since we expect these builds to pass and a failure means someone inadvertently messed up and will investigate urgently. I haven't done this PRs, because the logs become harder to read if there's an error and I don't want to encourage an attitude of "Oh, AppVeyor builds with -j so it's probably just a parallelism thing which we can fix later", given there's often already a "Oh, AppVeyor fails all the time, it's probably fine" 🙂
  • configure scripts run hellishly slowly under Cygwin, because shell scripts hammer fork - I've increased the caching to keep the correct config.cache file in place. If configure fails there's a single retry having blown away the cache. This shaves minutes off the build time...

@dra27
Copy link
Copy Markdown
Member Author

dra27 commented Apr 17, 2020

You can see on my AppVeyor instance the cache being loaded and also the parallel invocation for a branch vs a sequential invocation for the PR.

@dra27 dra27 merged commit c97b73c into ocaml:trunk Apr 20, 2020
This was referenced Apr 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant