pipelines/backend
Christian Clauss 8e1e823139 Lint Python code for undefined names (#1721)
* Lint Python code for undefined names

* Lint Python code for undefined names

* Exclude tfdv.py to workaround an overzealous pytest

* Fixup for tfdv.py

* Fixup for tfdv.py

* Fixup for tfdv.py
2019-08-21 15:04:31 -07:00
..
api Propagate pipeline name in pipeline spec (#1842) 2019-08-14 23:30:32 -07:00
src Lint Python code for undefined names (#1721) 2019-08-21 15:04:31 -07:00
test Propagate pipeline name in pipeline spec (#1842) 2019-08-14 23:30:32 -07:00
Dockerfile skip storing log to files (#1788) 2019-08-10 11:20:26 -07: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 Fixed directory provided to COPY command (#1783) 2019-08-09 09:43:25 -07:00
OWNERS Updating OWNERS files. Adding per-subdirectory OWNER files. 2018-11-05 14:03:33 -08:00
README.md Add fake metadata store and fix tests. (#958) 2019-03-21 00:57:35 -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 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