Skip to content

Speed up CI builds #272

@arcuru

Description

@arcuru

I've discussed this in various messages, collecting here to track this cleanup work.

@KevinWMatthews and I discussed in #233 the problems and some solutions for the fact that Catch2 has very slow compilation speed. I also mention it in #253. I explained in #233 (comment) the problems in more detail.

I've already setup #271 to improve the student user experience.

To reduce our resources in CI so we don't impact exercism as a whole, we should also implement the changes proposed by @KevinWMatthews in #233 (comment), using a common Catch main object for all the exercises. This, as I experimented with in #233 (comment), will greatly speed up the builds.

I propose then that we implement those changes, after making sure there isn't something we've overlooked, and use the common Catch main object as the default for compiling from the root, and setup Travis to only compile every object separately for the modern Clang compiler setting. There may be some work to combine this logic with the partial builds implemented in #266.

This isn't really urgent, but it would be a nice improvement to be better citizens for Exercism and Travis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions