Skip to content
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

[Backend] pH - How to update dependency? #4307

Closed
Bobgy opened this issue Aug 3, 2020 · 7 comments
Closed

[Backend] pH - How to update dependency? #4307

Bobgy opened this issue Aug 3, 2020 · 7 comments
Assignees
Labels
area/backend priority/p1 status/triaged Whether the issue has been explicitly triaged

Comments

@Bobgy
Copy link
Contributor

Bobgy commented Aug 3, 2020

#3965 has been blocked for nearly a month, because no one knows how to update backend dependencies properly.
We need clear documentation for instructions.

/assign @jingzhang36 @IronPan
/cc @NikeNano

@Bobgy Bobgy added priority/p1 area/backend status/triaged Whether the issue has been explicitly triaged labels Aug 3, 2020
@Bobgy
Copy link
Contributor Author

Bobgy commented Aug 3, 2020

TODO:

@jingzhang36
Copy link
Contributor

jingzhang36 commented Aug 5, 2020

First of all, I believe the way we manage BE dependencies is no different from other golang projects who use bazel. In other words, there is nothing special to our dependency management and any online tutorial on managing golang projs with bazel applies to our project (the same as it applies to other golang projects with bazel)

Second, if the dependency is broken or goes wrong, we'll have to follow the build errors and try to fix it. Personally, I don't know of any hack way that can quickly do that. But maybe @IronPan and @neuromage know of some quick fixes.

Regarding #3965, I'll try to figure out why.

@Bobgy
Copy link
Contributor Author

Bobgy commented Aug 5, 2020

If there are any existing doc that will be great, we can just put a link in the README.md

@Ark-kun
Copy link
Contributor

Ark-kun commented Aug 5, 2020

First of all, I believe the way we manage BE dependencies is no different from other golang projects who use bazel. In other words, there is nothing special to our dependency management and any online tutorial on managing golang projs with bazel applies to our project (the same as it applies to other golang projects with bazel)

The backend uses a really outdated version of Bazel. The build files are incompatible with stable Bazel versions and the build files of new versions of the dependencies are incompatible with the old Bazel version that we use.

We might improve the developer productivity here by scaling back the usage of Bazel and going back to using Go modules.

@Bobgy
Copy link
Contributor Author

Bobgy commented Aug 6, 2020

Yes, I totally agree with @Ark-kun.

I feel the extra steps to use bazel is just unnecessary when go modules is already becoming golang standard. People contributing can possibly have good knowledge of go modules, but I don't feel enough people know how to use bazel. As Ajay mentioned, we may still keep bazel for building the proto for the moment.

@jingzhang36
Copy link
Contributor

There are two issues here (let's try solving the one described in this issue's description first, without unnecessarily letting the other to be blocking).

  1. One issue of the PR #3965 mentioned in the description is that the author needs to follow our instruction of updating dependencies in WORKSPACE. feat(backend): workflow validation. Fixes #3526. #3965 (comment)

  2. Related but not blocking the above PR #3965 is KFP backend dependency on bazel. It has been a known issue for a long time. Several attempts had been done trying to increase the bazel version KFP backend uses. Various blockers had been ran into, e.g., some of the libs used by KFP backend require this bazel version. Hopefully, that might have been changed and we can now increase the bazel version used by KFP. An alternative is that we give up bazel, which seems ok too. I personally don't have a strong preference for this topic.

@Bobgy
Copy link
Contributor Author

Bobgy commented Aug 6, 2020

Thanks for clarification!

With https://github.com/kubeflow/pipelines/tree/master/backend#updating-build-files, I think this issue's purpose is already met. We can continue discussion of cleaning up bazel dep by upgrading/stopping to use it in #3461.

@Bobgy Bobgy closed this as completed Aug 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/backend priority/p1 status/triaged Whether the issue has been explicitly triaged
Projects
None yet
Development

No branches or pull requests

4 participants