-
Notifications
You must be signed in to change notification settings - Fork 786
[feature] migrate images to ghcr #2455
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
[feature] migrate images to ghcr #2455
Conversation
Signed-off-by: mahdikhashan <[email protected]>
9699402
to
900ca0a
Compare
/cc @kubeflow/wg-automl-leads @Electronic-Waste @varodrig PTAL! |
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.
Thank you for updating this @mahdikhashan!
Should we do the same for the Training Operator v1.9 ?
@@ -45,7 +46,7 @@ jobs: | |||
id: publish | |||
uses: ./.github/workflows/template-publish-image | |||
with: | |||
image: docker.io/kubeflow/${{ matrix.component-name }} | |||
image: ghcr.io/kubeflow/${{ matrix.component-name }} |
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.
Does GHCR support additional paths so we can distinguish images by Kubeflow Project name:
docker pull ghcr.io/kubeflow/trainer/trainer-controller-manager
https://github.com/orgs/kubeflow/packages/container/package/training%2Ftraining-operator
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.
yes, you are right - done.
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.
Thank you for this.
Could we check if uploading time does does not exceed 10min?
For example images (mostly releae-1.9 branch), I'm wondering if we take 10 or more time to upload images.
Signed-off-by: mahdikhashan <[email protected]>
fafd8d6
to
e151070
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
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.
@mahdikhashan Thanks for this! We may also need to update the image under manifests/
dir:
image: kubeflow/trainer-controller-manager |
trainer/manifests/overlays/manager/kustomization.yaml
Lines 15 to 18 in a6b4840
# Update the Kubeflow Trainer controller manager image tag. | |
images: | |
- name: kubeflow/trainer-controller-manager | |
newTag: latest |
Not sure if there are other image definitions elsewhere.
@mahdikhashan thank you for working on this. |
@mahdikhashan keep us posted on this updates to approve the PR. thank you |
/hold waiting for updates |
We discussed with @thesuperzapper whether we should push images to both DockerHub and GHCR. |
@mahdikhashan We also need to migrate Training Operator 1.9 images to GHCR, do you have time to help us with it as well? |
+1 on DockerHub and GHCR since we can increase Googlability. |
thank you all for your time, i'll free up some time and manage this pr. |
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.
As we discussed in this PR, @mahdikhashan please can we continue to publish images to GHCR and DockerHub, but use GHCR in the default manifests: #2491
I'll dedicate time today and finalize it. sorry for the delay. |
it is addressed here: #2491 |
I'll check it on my own user-account and share the result here. |
please check the following run: https://github.com/mahdikhashan/trainer/actions/runs/13882367194/job/38842581119#step:4:1315 the build takes almost 30 min, but the push to ghcr is around 11 seconds. |
Signed-off-by: mahdikhashan <[email protected]>
done. please take a look: https://github.com/mahdikhashan/trainer/actions/runs/13884081580 |
Signed-off-by: Mahdi Khashan <[email protected]>
Signed-off-by: mahdikhashan <[email protected]>
requested changes addressed. /cc @kubeflow/wg-automl-leads @Electronic-Waste @varodrig PTAL! |
Sounds great, thanks |
@mahdikhashan We need to fix E2E testings so that we can use ghcr imegin inside KinD cluster.
|
the first option is not possible since there are no images on ghcr, for dockerhub it will become a problem due to pull limit by 1st of April. I'd suggest we fix them in another pr. open to your suggestion though. |
In that case, we can keep using the dockerhub image for manifests in this PR and focus only on gh actions change. |
ok, i'll revert changes for manifest here and open an accompanying pr for manifests. |
Signed-off-by: mahdikhashan <[email protected]>
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.
Thank you
/lgtm
/approve
context: ${{ matrix.context }} | ||
push: false | ||
|
||
build-and-publish-to-dockerhub: |
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.
I think this and GHCR can consolidate into one.
- name: Checkout
- name: GHCR Login
- name: Docker Hub Login
- name: Publish Component ${{ matrix.component-name }}
- name: Test Build For Component ${{ matrix.component-name }}
Because images
can be specified multiple name: https://github.com/docker/metadata-action?tab=readme-ov-file#inputs
@mahdikhashan could you open an issue or work on this improvement?
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.
you are right, i'm more leaned toward current change since it separates path for publishing and has less mental effort for contribution. final decision is yours, i can merge/consolidate them in this pr.
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.
you are right, i'm more leaned toward current change since it separates path for publishing and has less mental effort for contribution. final decision is yours, i can merge them in this pr.
I do not want to block this PR by this my comment. So, I'm happy if you can work on my additional suggestion in the next PR, thanks.
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.
/hold cancel
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.
Please let me just know if you can work on it or just open an issue.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tenzen-y The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
registry: docker.io | ||
username: ${{ secrets.DOCKER_USERNAME }} | ||
password: ${{ secrets.DOCKER_PASSWORD }} |
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 needs to be fixed @mahdikhashan:
DOCKERHUB_USERNAME
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.
I'll open a hotfix.
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.
I mentioned fixess in follow-up PR as well
* migrate Signed-off-by: mahdikhashan <[email protected]> * update path Signed-off-by: mahdikhashan <[email protected]> * pull manifest from ghcr Signed-off-by: mahdikhashan <[email protected]> * pull image from ghcr Signed-off-by: mahdikhashan <[email protected]> * add dockerhub publish as a job Signed-off-by: mahdikhashan <[email protected]> * update images and runner Signed-off-by: mahdikhashan <[email protected]> * revert: manifest changes Signed-off-by: mahdikhashan <[email protected]> --------- Signed-off-by: mahdikhashan <[email protected]> Signed-off-by: Mahdi Khashan <[email protected]>
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in
Fixes #<issue number>, #<issue number>, ...
format, will close the issue(s) when PR gets merged):Fixes #2446
ref: kubeflow/manifests#3010 (comment)
Checklist: