opendatahub-io / notebooks

Notebook images for ODH
Apache License 2.0
15 stars 51 forks source link

ci: filter GitHub Actions PR build by changed files and `.dockerignore`s #604

Closed jiridanek closed 3 days ago

jiridanek commented 1 week ago

Description

Fixes #581

How Has This Been Tested?

I'm not conviced this is worth doing. Pretty much the only file that we can .dockerignore are the README.mds under habana/. The issue mentions *.yamls and so on, but these files aren't located in the container image directories, so when they are modified, the images won't rebuild simply because of #558.

Merge criteria:

openshift-ci[bot] commented 1 week ago

[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 atheo89 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: - **[OWNERS](https://github.com/opendatahub-io/notebooks/blob/main/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
openshift-ci[bot] commented 1 week ago

@jiridanek: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/runtimes-ubi8-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtimes-ubi8-e2e-tests
ci/prow/notebook-cuda-jupyter-ds-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-jupyter-ds-ubi8-python-3-8-pr-image-mirror
ci/prow/notebook-cuda-jupyter-minimal-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-jupyter-minimal-ubi8-python-3-8-pr-image-mirror
ci/prow/intel-notebooks-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test intel-notebooks-e2e-tests
ci/prow/notebook-jupyter-intel-ml-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-intel-ml-ubi9-python-3-9-pr-image-mirror
ci/prow/runtime-pytorch-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-pytorch-ubi8-python-3-8-pr-image-mirror
ci/prow/runtime-minimal-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-minimal-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-jupyter-datascience-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-datascience-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-habana-1-13-0-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-habana-1-13-0-ubi8-python-3-8-pr-image-mirror
ci/prow/notebook-cuda-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-ubi8-python-3-8-pr-image-mirror
ci/prow/notebook-base-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-base-ubi8-python-3-8-pr-image-mirror
ci/prow/images 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test images
ci/prow/habana-notebooks-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test habana-notebooks-e2e-tests
ci/prow/notebook-codeserver-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-codeserver-ubi9-python-3-9-pr-image-mirror
ci/prow/runtime-intel-tf-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-intel-tf-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-jupyter-datascience-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-datascience-ubi8-python-3-8-pr-image-mirror
ci/prow/runtime-intel-pyt-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-intel-pyt-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-cuda-jupyter-minimal-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-jupyter-minimal-ubi9-python-3-9-pr-image-mirror
ci/prow/rstudio-notebook-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test rstudio-notebook-e2e-tests
ci/prow/runtime-cuda-tensorflow-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-cuda-tensorflow-ubi8-python-3-8-pr-image-mirror
ci/prow/runtime-datascience-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-datascience-ubi9-python-3-9-pr-image-mirror
ci/prow/runtimes-ubi9-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtimes-ubi9-e2e-tests
ci/prow/notebook-jupyter-minimal-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-minimal-ubi8-python-3-8-pr-image-mirror
ci/prow/jupyter-datascience-anaconda-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test jupyter-datascience-anaconda-python-3-8-pr-image-mirror
ci/prow/codeserver-notebook-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test codeserver-notebook-e2e-tests
ci/prow/anaconda-ubi8-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test anaconda-ubi8-e2e-tests
ci/prow/notebook-cuda-jupyter-ds-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-jupyter-ds-ubi9-python-3-9-pr-image-mirror
ci/prow/notebooks-ubi9-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebooks-ubi9-e2e-tests
ci/prow/notebook-jupyter-minimal-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-minimal-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-base-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-base-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-cuda-jupyter-tf-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-jupyter-tf-ubi9-python-3-9-pr-image-mirror
ci/prow/runtime-cuda-tensorflow-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-cuda-tensorflow-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-amd-jupyter-minimal-c9s-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-amd-jupyter-minimal-c9s-python-3-9-pr-image-mirror
ci/prow/notebook-jupyter-intel-tf-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-intel-tf-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-rstudio-c9s-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-rstudio-c9s-python-3-9-pr-image-mirror
ci/prow/notebook-cuda-rstudio-c9s-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-rstudio-c9s-python-3-9-pr-image-mirror
ci/prow/runtime-intel-ml-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-intel-ml-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-jupyter-trustyai-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-trustyai-ubi8-python-3-8-pr-image-mirror
ci/prow/notebook-cuda-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-ubi9-python-3-9-pr-image-mirror
ci/prow/runtime-minimal-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-minimal-ubi8-python-3-8-pr-image-mirror
ci/prow/notebook-base-c9s-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-base-c9s-python-3-9-pr-image-mirror
ci/prow/notebook-jupyter-pytorch-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-pytorch-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-jupyter-intel-pyt-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-intel-pyt-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-amd-c9s-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-amd-c9s-python-3-9-pr-image-mirror
ci/prow/runtime-pytorch-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-pytorch-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-jupyter-trustyai-ubi9-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-jupyter-trustyai-ubi9-python-3-9-pr-image-mirror
ci/prow/notebook-cuda-c9s-python-3-9-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-cuda-c9s-python-3-9-pr-image-mirror
ci/prow/notebook-habana-1-10-0-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebook-habana-1-10-0-ubi8-python-3-8-pr-image-mirror
ci/prow/notebooks-ubi8-e2e-tests 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test notebooks-ubi8-e2e-tests
ci/prow/runtime-datascience-ubi8-python-3-8-pr-image-mirror 0c5d260577d591aebfc6a9d0c0c1375e353f1126 link true /test runtime-datascience-ubi8-python-3-8-pr-image-mirror

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
jiridanek commented 1 week ago

Looks like podman will not follow symlink for .dockerignore that leads out of the build context. The images do build in docker just fine, but not in podman.

If I wanted to fix this, I'd add script to ci/ that synces the .dockerignore files and added to static check workflow that all .dockerignores are properly synced.

But, it seems to me that this whole PR is not worth the effort and increased complexity, given how few files there is to be filtered out this way, and that https://github.com/opendatahub-io/notebooks/pull/558 works already pretty well.

jiridanek commented 1 week ago

@atheo89 as the original author of the general idea, do you think this is worth pursuing, or can I close the PR and the issue and not do this, given what I found out in my previous comment?

atheo89 commented 3 days ago

@atheo89 as the original author of the general idea, do you think this is worth pursuing, or can I close the PR and the issue and not do this, given what I found out in my previous comment?

Apologies for the late reply. I appreciate your proposed solution involving syncing .dockerignore files via a script in the CI workflow. Given the minimal number of files that need to be filtered out, I agree that pursuing this change may not justify the added complexity. You can proceed with closing this PR.