Explore optimizing CI tasks #123
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Currently the Woodpecker CI config is spread across 5 different pipelines, each having to run yarn to install dependencies. This causes unnecessary strain on the CI server, and might be avoidable if we can reorganize the tasks in each pipeline differently.
I think at the very least the lints could be consolidated into one pipeline.
Sure they could, but it would not really help the point of separating them in the first place. Reality is that lints of the backend are passing but lints of the client are not. In a PR I don't want to see that the lint failed and have to look which of the lints failed, and if it was one that was failing before anyway. (Ideally we could easily see when there are any newly failing lints but thats on a different level.)
Quoting what I said in the PR:
I think Toast's idea of using a cache for
node_modules
and yarn might be the best approach for both not having to do a fullyarn install
and being able to keep the lints separate.All we'd really need now is a place to store that cache.
As for a "forking" workflow, there is the
group
parallel execution for tasks within the same pipeline (which would aleviate the need for the cache).Alternatively, if we do want separate lint pipelines, there's
depends_on
where we could have a singleyarn install
pipeline that can also refresh the cache, and then load the cache in the other pipelines.Probably may be best to have a cache anyways since the CI would go faster regardless of the direction taken.