Closed sikehish closed 1 month ago
Looks great!
what would a github action look like to get this to run once a new
sf-hamilton-ui
version was published? I'll be working on the action soon. But I'm currently building the images without the env variables/args. What do I do? Do I add multi arch builds to the docker compose file, or is there any other approach that I need to take?
I'll be working on the action soon. But I'm currently building the images without the env variables/args. What do I do? Do I add multi arch builds to the docker compose file, or is there any other approach that I need to take?
Sorry I'm not following. The multi-arch builds would just use your script here right?
I'll be working on the action soon. But I'm currently building the images without the env variables/args. What do I do? Do I add multi arch builds to the docker compose file, or is there any other approach that I need to take?
Sorry I'm not following. The multi-arch builds would just use your script here right?
Yes. Just wanted to ask if you if the script is satisfying the requirements.
Yes. Just wanted to ask if you if the script is satisfying the requirements.
Script looks great thanks. I haven't run it yet to verify though; so I assume it works right now.
Looks great!
what would a github action look like to get this to run once a new
sf-hamilton-ui
version was published?Looks great!
what would a github action look like to get this to run once a new
sf-hamilton-ui
version was published?
Hi @skrawcz . Ive created a new workflow, tested it on my fork, and it's building and pushing those images. So it's working fine. Let me know if I need to make any changes :)
Hi @skrawcz I've made the reuqested changes. Let me know if anything else needs to be changed. I've tested it on my local fork, and its working fine.
just tried it - seems to work - i just had to change two small things
Oh Okay. Anything else that I need to work on?
@sikehish just need to fix up the whitespace pre-commit issues. Otherwise this is ready to merge. Thanks!
e.g. pip install pre-commit
pre-commit run --all-files
I think those are the commands
@sikehish just need to fix up the whitespace pre-commit issues. Otherwise this is ready to merge. Thanks!
e.g.
pip install pre-commit
pre-commit run --all-files
I think those are the commands
I have executed the above command. Does everything look good now? Thank you for the opportunity:)) It was fun working on this issue.
This address #1064. A shell script was created to handle building and pushing multi-architecture images using docker buildx.
Changes
This PR introduces a shell script (
buildx_and_push.sh
) to automate the process of building and pushing Docker images for multiple architectures usingdocker buildx
. It ensures that the Docker images are always built with the latest version of thesf-hamilton-ui
library from PyPI.Key Changes:
Multi-architecture support:
linux/amd64
,linux/arm64
).Automated version management:
sf-hamilton-ui
version from PyPI.latest
tag are always in sync with the current release.Builder instance setup:
hamilton-builder
).Image tagging and pushing:
sf-hamilton-ui
version.latest
tag.How I Tested This
Environment:
Test Cases:
latest
tags were pushed to the repository.Validation:
dagworks/ui-backend:<fetched_version>
dagworks/ui-backend:latest
dagworks/ui-frontend:<fetched_version>
dagworks/ui-frontend:latest
Notes
Ensure Docker Buildx is installed before running the script. The setup logic in the script will handle creating the builder instance if it is not already configured.
Why this change is needed: This automation ensures consistency between the versioned tag and the
latest
tag. It also simplifies multi-architecture builds and makes them easier to manage across multiple platforms.[x] PR has an informative and human-readable title (this will be pulled into the release notes)
[x] Changes are limited to a single goal (no scope creep)
[ ] Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future TODOs are captured in comments
[ ] Project documentation has been updated if adding/changing functionality.