ci: split build and publish workflows and set up cache #14768
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

the new workflow introduced in #14685 takes quite some time to build (~5m). the gem stage is the culprit here as it takes almost 4m to build some native extensions. this PR introduces GitHub Cache backend for our workflows and now it takes ~37s to build: https://github.com/crazy-max/docker.github.io/runs/6492119592?check_suite_focus=true#step:4:1
also as discussed with @thaJeztah, split build workflow and create a dedicated publish one to have better separation of concerns.
Signed-off-by: CrazyMax crazy-max@users.noreply.github.com