Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Argo Workflows into Hera's CI #652

Closed
flaviuvadan opened this issue May 29, 2023 · 0 comments · Fixed by #887
Closed

Integrate Argo Workflows into Hera's CI #652

flaviuvadan opened this issue May 29, 2023 · 0 comments · Fixed by #887
Labels
type:enhancement A general enhancement

Comments

@flaviuvadan
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
Right now there's no standard way to test Hera workflow examples and users need their own clusters for testing.

Describe the solution you'd like
Integrate minikube/k3s into CI and add a job that runs at least several workflows in CI to ensure submission works

Describe alternatives you've considered
Not sure there are any that are specifically simpler than integrating k8s into CI but definitely open to any!

Additional context
None

@flaviuvadan flaviuvadan added the type:enhancement A general enhancement label May 29, 2023
@dejamiko dejamiko mentioned this issue Aug 8, 2023
4 tasks
elliotgunton added a commit that referenced this issue Aug 30, 2023
**Pull Request Checklist**
- [x] Fixes #740 
- [x] Tests added
- [x] Documentation/examples added
- [x] [Good commit messages](https://cbea.ms/git-commit/) and/or PR
title

This PR implements the output annotation behaviour described in #740.
The case with output params in the function signature as `Path` is not
tested and this can be done with #652.

```python
def func(..., output_param: Annotated[Path, Parameter(output=True, global_name="...", name="")]) -> Annotated[arbitrary_pydantic_type, OutputItem]:
    output_param.write_text("...")
    return output
```

---------

Signed-off-by: Mikolaj Deja <mdeja2@bloomberg.net>
Signed-off-by: Mikolaj <dejamikolaj@gmail.com>
Co-authored-by: Mikolaj Deja <mdeja2@bloomberg.net>
Co-authored-by: Elliot Gunton <egunton@bloomberg.net>
Co-authored-by: Sambhav Kothari <skothari44@bloomberg.net>
elliotgunton added a commit that referenced this issue Dec 12, 2023
**Pull Request Checklist**
- [x] Fixes #652
- [x] Tests added
- [x] Documentation/examples added
- [x] [Good commit messages](https://cbea.ms/git-commit/) and/or PR
title

**Description of PR**
Introduce local Argo cluster workflow tests to CI, and `make` targets to
set up a local cluster for testing (this worked very well on GitHub
codespaces, where I could even get a web UI to the cluster).

Added a single test to confirm the workflow runs via `create` and
reaches the `succeeded` `status.phase`. We can think about creating a
more flexible/extensible framework for adding `on_cluster` tests -
* I'd like to use a subset of our examples
* But we want to assert on more than the `status.phase`, e.g. output
values, running order, skipped nodes etc, which would require bespoke
tests for each
* It would also be good to have a wrapper for fetching these values,
e.g. getting a node requires iterating through the `status.nodes`
dictionary, which is keyed by hashes, so you have to check `displayName`
from the values.

---------

Signed-off-by: Elliot Gunton <egunton@bloomberg.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement A general enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant