* Minimize the Kubernetes version range in the CI This reduces the matrix to only include the low and high versions. See the KFP community call notes for more context: https://docs.google.com/document/d/1cHAdK1FoGEbuQ-Rl6adBDL5W2YpDiUbnMLIwmoXBoAU/edit?tab=t.0#heading=h.fovolzywu84d Signed-off-by: mprahl <mprahl@users.noreply.github.com> * Reduce the testing matrix for Python versions This reduces the Python versions being tested to the low and high versions to reduce GitHub CI consumption. See the KFP community call discussion for more context: https://docs.google.com/document/d/1cHAdK1FoGEbuQ-Rl6adBDL5W2YpDiUbnMLIwmoXBoAU/edit?tab=t.0#heading=h.fovolzywu84d Signed-off-by: mprahl <mprahl@users.noreply.github.com> * Add an option to run integration tests locally Signed-off-by: mprahl <mprahl@users.noreply.github.com> * Stop using whalesay in the tests The container image is over 10 years old and is in a format that is deprecated on newer Kubernetes versions. Signed-off-by: mprahl <mprahl@users.noreply.github.com> --------- Signed-off-by: mprahl <mprahl@users.noreply.github.com> |
||
---|---|---|
.. | ||
Makefile | ||
README.md | ||
db_test.go | ||
experiment_api_test.go | ||
flags.go | ||
healthz_api_test.go | ||
job_api_test.go | ||
pipeline_api_test.go | ||
pipeline_version_api_test.go | ||
run_api_test.go | ||
run_tests_locally.sh | ||
upgrade_test.go | ||
visualization_api_test.go | ||
webhook_test.go |
README.md
Api Server Integration Tests
WARNING
These integration tests will delete all the data in your KFP instance, please only use a test cluster to run these.
How to run
The default integration test will test the default Database, MySQL.
- Configure kubectl to connect to your kfp cluster.
- Run the following for all integration tests:
NAMESPACE=<kfp-namespace> ./run_tests_locally.sh
. - Or run the following to select certain tests:
NAMESPACE=<kfp-namespace> ./run_tests_locally.sh -testify.m Job
. Reference: https://stackoverflow.com/a/43312451
Webhook Integration Tests
The Kubernetes webhooks require Kubeflow Pipelines to be deployed using the
manifests/kustomize/env/cert-manager/platform-agnostic-k8s-native
manifests which is why they are gated by
the WEBHOOK_INTEGRATION=true
environment variable value. If the correct environment is deployed, you may run
the tests with make -C backend/test/integration test-webhook
from the root of the repository.
Run database tests with PostgreSQL
To run this test, you need to first deploy the PostgreSQL images on your Kubernetes cluster. For how to deploy, see instructions here.
When testing against postgreSQL, all integration tests with MySQL will be disabled. Use an argument postgres
to run
test against a PostgreSQL database:
NAMESPACE=<kfp-namespace> ./run_tests_locally.sh postgres