* support optional and default parameters
* add sample test
* change assert value
* update test
* update test
* fix sample test
* fix sample test
* fix sample test
* test fix
* change parameter logic
* test
* test
* change logic handling not provided parameter
* remove unnecessary code and add more sample case
* fix sample test bug
* fix sample test
* update logic
* change parameter logic
* update logic
* update logic handling when parameter not provided
* fix sample test
* add error message
* fix samples test
* samples test
* remove unused code
* remove dependency of deprecated on v2
* use new artifact identification logic
* add custom artifact type compiler test
* compile schema_version from non-kfp artifacts
* update tests
* add importer to compiler test
* update golden snapshots
* fix type checking code
* undo executor_test diff
* remove gcpc types compiler test
* add compilation test comment
* update google artifact handling
* update compiler test
* only permit system. and google. artifact types; add tests
* update compiler test
* simplify type checking logic
* use bundled artifact types in PipelineArtifactChannel
* raise error on unknown v1 input or output
* add type utils and move functions
* add type utils tests
* remove schema_version from inputspec and outputspec
* update artifact proto creation and tests
* propogate bundled artifact type string changes throughout sdk
* update golden snapshot
* remove unused v1 compat and tests
* update type checking and tests to validate schema_version using semantic versioning
* update importer sample
* update test data config
* update test_data config
* clean up sample
* clean up sample
* fix v2 sample tests for cuj3
* separate sh -c
* fix two step pipeline
* fix piping error
* fix nit
* change path to uri to correct cat command
* correct bash script
* remove display name
* change directory reference in commands
* remove old files
* support container_component decorator for function with no inputs
* resolve review comments
* add sample tests for milestone 1
* modify compiler test data
* resolve reviews
* resolve reviews
* WIP
* implementation of function of no inputs
* fixed sample test
* re-fix sample test
* fix rebase merge conflict
* resolve formatting
* resolve isort error for test data
* resolve comments
* fix nit
* resolve nit
* add implementation for placeholders i/o, sample and compiler tests
* resolve comments and merge logic for constructing container component
* resolve comments
* resolve comments
* fix assertion messages
* add error handling for accessing artifact by itself
* add test for raising error for accessing artifact by itself
* 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.
* Changes:
* add kfp v2 hello world sample
* generate go proto code
* code to unmarshal via jsonpb
* generate container spec
* add root DAG task and Makefile to run in argo
* env setup to quickly build driver container
* generate mlmd grpc golang client
* mlmd grpc client usage example
* driver-dag: put execution and context
* driver dag: put context only when execution is a DAG
* driver task: resolve parameter from parent execution
* chain dag driver with task driver
* driver: output argo parameters
* driver: build driver docker image
* driver: push image to dev registry
* compiler: root dag driver compiler
* mlmd doc
* driver: use task spec and executor spec as driver input instead
* driver: pod spec patch output for type EXECUTOR
* compiler: passing - parameter placeholder with hello world example
* include generated argo workflow in source control
* driver no longer outputs parameters
* publisher: publish parameters to execution custom properties
* driver, publisher: execution state
* publisher: remove built binary from repo
* sample: add producer consumer sample
* sample: producer consumer sample with only parameters
* e2e output parameter support
* e2e: driver resolves input parameter from tasks in the same DAG
* compiler: convert KFP task dependency to argo task dependency
* feat: refactor publisher so it can run as an entrypoint
* build: entrypoint image
* feat: executor and publisher in one container via entrypoint rewriting
* fixed compile error (#1)
* add licenses
* update readme
Co-authored-by: capri-xiyue <52932582+capri-xiyue@users.noreply.github.com>