pipelines/backend
jingzhang36 5f9e56a744
Only pending or running workflows are considered not-final (#3940)
* only pending or running workflows are considered not-final

* rephrase comment
2020-06-09 06:05:18 -07:00
..
api [Release] Regenerate api clients on release (#3910) 2020-06-04 13:24:16 +08:00
metadata_writer Infer artifact store endpoint in metadata writer (#3530) 2020-05-20 01:38:17 -07:00
src Only pending or running workflows are considered not-final (#3940) 2020-06-09 06:05:18 -07:00
test re-enable upgrade test since 0.5.2 is cut (#3696) 2020-05-29 13:40:10 +08:00
Dockerfile [Servers] Add liveness and readiness probes (#3757) 2020-05-13 23:46:22 -07:00
Dockerfile.bazel Add arm64 support for ml-pipeline (#2507) 2019-11-07 17:34:19 -08:00
Dockerfile.cacheserver [Backend]Initial execution cache (#3036) 2020-03-03 16:13:47 -08:00
Dockerfile.persistenceagent Garbage collect the completed workflow after persisted to database (#1802) 2019-08-12 23:53:18 -07:00
Dockerfile.scheduledworkflow skip storing log to files (#1788) 2019-08-10 11:20:26 -07:00
Dockerfile.viewercontroller skip storing log to files (#1788) 2019-08-10 11:20:26 -07:00
Dockerfile.visualization Fix presubmit failure by avoiding license downloading when building image (#3406) 2020-04-01 09:43:28 -07:00
OWNERS revert #3168 as it doesn't work, put myself to reviewer (#3191) 2020-02-28 05:58:38 -08:00
README.md Infra - Improved the update_requirements script (#3535) 2020-04-17 13:20:04 -07:00
build_api_server.sh [Backend] Improve parameter patching (#3016) 2020-02-10 00:15:53 -08:00
requirements.in Bump TFX to 0.21.2 (#3255) 2020-03-11 09:53:37 -07:00
requirements.txt TFX Iris sample (#3119) 2020-03-13 17:34:34 -07:00
update_requirements.sh Infra - Improved the update_requirements script (#3535) 2020-04-17 13:20:04 -07:00

README.md

This directory contains code for the components that comprise the Kubeflow Pipelines backend.

Building & Testing

All components can be built using Bazel. To build everything under backend, run: bazel build --action_env=PATH --define=grpc_no_ares=true //backend/...

To run all tests: bazel test --action_env=PATH --define=grpc_no_ares=true //backend/...

The API server itself can only be built/tested using Bazel. The following commands target building and testing just the API server. bazel build --action_env=PATH --define=grpc_no_ares=true backend/src/apiserver/... bazel test --action_env=PATH --define=grpc_no_ares=true backend/src/apiserver/...

Building APIServer Image using Remote Build Execution

If you are a dev in the Kubeflow Pipelines team, you can use Remote Build Execution Service to build the API Server image using Bazel with use of a shared cache for speeding up the build. To do so, execute the following command:

./build_api_server.sh -i gcr.io/cloud-ml-pipelines-test/api-server:dev

Building Go client library and swagger files

After making changes to proto files, the Go client libraries and swagger files need to be regenerated and checked-in. The backend/api/generate_api.sh script takes care of this.

Updating BUILD files

As the backend is written in Go, the BUILD files can be updated automatically using Gazelle. Whenever a Go file is added or updated, run the following to ensure the BUILD files are updated as well: bazel run //:gazelle

If a new external Go dependency is added, or an existing one has its version bumped in the go.mod file, ensure the BUILD files pick this up by updating the WORKSPACE go_repository rules using the following command: bazel run //:gazelle -- update-repos --from_file=go.mod

Updating python dependencies

pip-tools is used to manage python dependencies. To update dependencies, edit requirements.in and run ./update_requirements.sh <requirements.in >requirements.txt to update and pin the transitive dependencies.