* change serialization format from json to yaml
* refactor: use guard clause for clarity
* convert test data from json to yaml
* add and update tests
* permit deprecated compile to json
* re-add json test data
* update compiler tests
* refactor Compiler._write_pipeline_spec_file
* update golden snapshots
* update sample output extensions
* test file extension exceptions and warnings
* update release notes
* remove json golden snapshots
* Refactor and move all v2 related code to under the v2 namespace.
Most of the changes are around imports and restructuring of the
codebase. While it looks like a lot of code was added, most of the code
already existed and was simply moved or copied over to v2. The only
exceptions are:
- under kfp/v2/components/component_factory.py: some helper functions
were copied with simplification from _python_op.py
- we no longer strip the `_path` suffix in v2 components.
Note: there is still some duplication of code (particularly between
component_factory.py and _python_op.py), but it's ok for now since we
intend to replace some of this with v2 ComponentSpec + BaseComponent.
* Update setup.py.
* update tests.
* revert accidental change of gcpc
* Fix component entrypoint.
* Update goldens.
* fix tests.
* fix merge conflict.
* revert gcpc change.
* fix tests.
* fix tests.
* Add type aliases for moved files.
* merge and update goldens.
* Enable the use of v2 Executor from KFP package.
This avoids the need to paste Executor code for v2 components into
the entrypoint of lightweight components.
* Update tests.
* quote package path.
* quote package path.
* escape fragment
* Update golden files.
* update goldens.
* Cleanup.
* More cleanup.
* update goldens.
* style updates.
* clean up sample tests.
* fix trailing comma
* Try using signed urls.
* fix
* fix presubmit
* try /bin/bash for Makefile shell
* undo signed url change.
Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>
* fix(launcher): handle parameter values with special characters stably
* include new test case
* add tensorboard minio test case
* fix go unit tests
* update test golden
* address feedback
* fix tests
* Update syntax for lightweight components v2.
Use Input[T] and Output[T] for representing input/output artifacts
of type T. This enables users to see these annotations as merely the
classes T, enabling autocompletion, reducing verbosity and simplifying
I/O types code. Users also no longer
Other changes include:
- no longer need to use .get() to obtain the artifact class
- no auto-creation of the `data` file for output artifacts. This enables
artifacts to be either directories or files.
* fix for Py 3.6
* Remove stray file.
* Add error message if Input/Output are used with non Artifact types.
* Fix e2e test.
* test: set up sample test for many samples
* test: rm loop_* tests from v1 sample test, they are already covered in v2 sample test
* fix condition pipeline for basic e2e test
* remove condition from e2e test