KittyCAD / modeling-app

The KittyCAD modeling app.
https://kittycad.io/modeling-app/download
MIT License
426 stars 36 forks source link

Prebuilt image for CI CD #4360

Open nadr0 opened 3 weeks ago

nadr0 commented 3 weeks ago

Our modeling-app pipeline had an issue finding nodejs.

There is a trade off of speed and dependency management when live installing dependencies and baking them into an image. We have github action caching but it maybe better to cache more things into a base image for the pipeline.

It would be good to have nodejs baked into an image.

To help keep this base image up to date we should have an automated process like modeling-app -> triggers pre build image -> if pre build image passes -> bump pre built image -> modeing-app main uses image@latest or something.

We shouldn't have our CI CD fail because it cannot find remote dependencies and randomly fail. These should always be available to us.

adamchalmers commented 2 weeks ago

Prebaking node in the docker image would also shave 2 minutes off CI, which would be a big win.

Image

nadr0 commented 2 weeks ago

We should be able to get even more of a speed up Image

Look at playwright and the CLI. Sometimes things aren't cached within the jobs so we have to pay a large penalty.