Skip to content

Investigate github action pipelines to cut CI costs #621

Open
@piotrwitek

Description

@piotrwitek

I had a look on your pipelines. Yes, they are taking some considerable time and are executed often.
In general the pipeline seems well written and uses best practices like using matrix.
However, each per-matrix execution will duplicate the entire job. In our case this means that we are executing long-lasting steps like installing dependencies twice, and it takes 3.5-4 minutes to do it per step. It obviously doubles for each browser.
So in general it looks the following way for the billing:
chrome run ~ 7-8 minutes
firefox run ~ 9-10 minutes
The total billable time is 18 minutes.
The total billable time for installing dependencies is 7-8 minutes.
With 4 browsers it will be clearly more.
I don't currently see a better way to optimize it except removing the matrix and doing npm run sequentially. This will increase the overall job execution time, but will decrease the billable time. Also this will require some steps tuning like if always() in order to run tests even if the previous one has failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions