-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: Parallelize the CI image builds #25564
build: Parallelize the CI image builds #25564
Conversation
- replaces custom script to set tags with docker/metadata-action GitHub Action - replaces custom script to sequentially build images with docker/build-push-action GitHub Action - moves docker-release.yml logic into docker.yml by utilizing docker/metadata-action 'tags: type=pep440,pattern={{version}}' - removes docker buildx local cache usage as every build runs on its own job hence on different machines (docker buildx registry cache will be a follow-up PR)
@@ -21,33 +24,253 @@ jobs: | |||
echo "has-secrets=1" >> "$GITHUB_OUTPUT" | |||
echo "has secrets!" | |||
else | |||
echo "has-secrets=0" >> "$GITHUB_OUTPUT" | |||
echo "no secrets!" | |||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does not work as expected. The check if: needs.config.outputs.has-secrets
returns true in both cases.
Either check for if: needs.config.outputs.has-secrets == 1
or don't set has-secrets
when there are no secrets. I went with the latter.
Any updates here? Looks like there's conflicts :) |
I pull this, rebased and reopened here #26697 |
Closing this since #26698 merged |
SUMMARY
This PR replaces the custom script
docker_build_push.sh
that runs the docker builds sequentially with GitHub action jobs running in parallel.docker/metadata-action
GitHub Actiondocker/build-push-action
GitHub Actiondocker/metadata-action
tags: type=pep440,pattern={{version}}
No functionality changed, except:
TESTING INSTRUCTIONS
Use case: PR from fork (can be verified by the successful jobs from this PR)
Use case: PR from Superset repo
Use case: commit to master
Use case: release
ADDITIONAL INFORMATION