Skip to content

Conversation

@noalimoy
Copy link

@noalimoy noalimoy commented Sep 29, 2025

Summary

This PR migrates the GitHub Actions workflow responsible for building and publishing the PVCViewer Controller Docker image from the kubeflow/kubeflow repository to the kubeflow/notebooks repository.

Related: #619

Verification

Successfully built and published a test image:
GitHub Actions run

workflow-success

@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign thesuperzapper for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@noalimoy noalimoy force-pushed the feature/migrate_pvcviewer_controller_docker_publish_to_notebooks branch 2 times, most recently from 425e4da to 53689ac Compare September 29, 2025 12:31
@andyatmiami
Copy link
Contributor

/hold

I want to make sure:

  • we finalize the decision on container registry
  • we appropriately "seed" a package to appropriate container registry so desired permissions are in place

@noalimoy noalimoy force-pushed the feature/migrate_pvcviewer_controller_docker_publish_to_notebooks branch from 53689ac to 0636c9a Compare September 30, 2025 09:10
@google-oss-prow google-oss-prow bot added area/controller area - related to controller components area/v1 area - version - kubeflow notebooks v1 labels Sep 30, 2025
@noalimoy noalimoy force-pushed the feature/migrate_pvcviewer_controller_docker_publish_to_notebooks branch 4 times, most recently from 104bfe1 to 832a156 Compare September 30, 2025 10:32
@noalimoy noalimoy marked this pull request as ready for review September 30, 2025 11:03
@noalimoy noalimoy force-pushed the feature/migrate_pvcviewer_controller_docker_publish_to_notebooks branch 2 times, most recently from ed1f27c to 091cc46 Compare October 16, 2025 09:57
@andyatmiami
Copy link
Contributor

/ok-to-test

Copy link
Contributor

@andyatmiami andyatmiami left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@noalimoy

Thanks for these changes.. I can confirm you appropriately copied the existing workflow from kubeflow/kubeflow and made the necessary edits.

HOWEVER - I'm VERY perplexed on how the original workflow was EVER working - as we clearly are attempting to build multi-arch images - but I don't see a Setup QEMU step like other workflows have ?!

Can you:

  • explicitly add that step similar to how other _publish workflows have it defined
  • explain to me how the heck this is working without that step???

🙇

@noalimoy noalimoy force-pushed the feature/migrate_pvcviewer_controller_docker_publish_to_notebooks branch 2 times, most recently from dfde6a0 to 71fd6d4 Compare October 30, 2025 10:17
@noalimoy
Copy link
Author

@noalimoy

Thanks for these changes.. I can confirm you appropriately copied the existing workflow from kubeflow/kubeflow and made the necessary edits.

HOWEVER - I'm VERY perplexed on how the original workflow was EVER working - as we clearly are attempting to build multi-arch images - but I don't see a Setup QEMU step like other workflows have ?!

Can you:

  • explicitly add that step similar to how other _publish workflows have it defined
  • explain to me how the heck this is working without that step???

🙇

Ok, the reason the original and current workflow works without a Setup QEMU step is that our Go binary is statically built (CGO_ENABLED=0), which has important implications:

  • The binary built for each architecture does not require execution during the build.
  • Buildx can therefore generate layers and a manifest for each architecture without any emulation, using just the binary that was already built
    1. ARCH=linux/amd64 make docker-build-multi-arch
    2. ARCH=linux/ppc64le make docker-build-multi-arch
    3. ARCH=linux/arm64/v8 make docker-build-multi-arch
  • If there were RUN commands during the build that depended on executing a binary - we would need QEMU to run that code

I agree it might be worth adding the Setup QEMU step for consistency and clarity..

@noalimoy noalimoy force-pushed the feature/migrate_pvcviewer_controller_docker_publish_to_notebooks branch from 71fd6d4 to 33a7b36 Compare October 30, 2025 13:11
@noalimoy noalimoy force-pushed the feature/migrate_pvcviewer_controller_docker_publish_to_notebooks branch from 33a7b36 to 6592e67 Compare October 30, 2025 14:11
Copy link
Contributor

@andyatmiami andyatmiami left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

Thanks @noalimoy - good to finally be at a place to get this merged. appreciate your work!

Verified on fork:

Image available:

@google-oss-prow google-oss-prow bot added the lgtm label Oct 30, 2025
@andyatmiami
Copy link
Contributor

/unhold

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci area - related to ci area/controller area - related to controller components area/v1 area - version - kubeflow notebooks v1 lgtm ok-to-test size/M

Projects

Status: Needs Triage

Development

Successfully merging this pull request may close these issues.

2 participants