* add unit tests for tekton template v1 * update license |
||
|---|---|---|
| .. | ||
| api | ||
| metadata_writer | ||
| src | ||
| test | ||
| third_party_licenses | ||
| Dockerfile | ||
| Dockerfile.cacheserver | ||
| Dockerfile.persistenceagent | ||
| Dockerfile.scheduledworkflow | ||
| Dockerfile.viewercontroller | ||
| Makefile | ||
| README.md | ||
| requirements.in | ||
| update_requirements.sh | ||
README.md
This directory contains code for the components that comprise the Kubeflow Pipelines backend.
Building & Testing
To run all unit tests for backend:
go test -v -cover ./backend/...
To run the API server unit tests:
go test -v -cover ./backend/src/apiserver/...
The API server itself can be built using:
go build -o /tmp/apiserver backend/src/apiserver/*.go
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 APIServer image locally
The API server image can be built from the root folder of the repo using:
export API_SERVER_IMAGE=api_server
docker build -f backend/Dockerfile . --tag $API_SERVER_IMAGE
Building client library and swagger files
After making changes to proto files, the Go client libraries, Python client libraries and swagger files need to be regenerated and checked-in. Refer to backend/api for details.
Updating licenses info
-
Install go-licenses tool and refer to its documentation for how to use it.
go install github.com/google/go-licenses@d483853 -
Run the tool to update all licenses:
make all
Updating python dependencies
pip-tools is used to manage python
dependencies. To update dependencies, edit requirements.in
and run ./update_requirements.sh to update and pin the transitive
and pin the transitive dependencies.