-
Notifications
You must be signed in to change notification settings - Fork 344
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
Need to add integration test to the regular CI runs, not just integration_validation #1974
Comments
Hey @yihuaf the original though was given that the rust tests are still under development, we only run that when tests themselves are changed, and otherwise as we have to keep the tests same as go tests (actual opencontainers tests) as long as youki passes them, it should be able to pass the rust ones as well. I'm not particularly against running all of the tests for all PRs, if we do so, we should run them parallely as you have suggested. I think we need to rethink and re-write our whole CI eventually... |
Looks like we should add the integration tests to the normal CI run but in parallel. It avoids the case where actual code change breaks the integration tests. The integration tests are not complete but are stable with what we have currently, we should proceed.
Do you have some ideas on what area we should improve or rewrite? What would you change if you have unlimited time and resources? |
Shouldn't it be added to e2e.yaml? As long as CI have the binary, we can implement it with conatinerd/kubernetes e2e jobs, etc. |
This already happens with the
We can. I was not sure if you want to reserve e2e for containerd/k8s/other actual running platforms. Or we can implement it as a separate workflow. Do you prefer us to add to e2e instead? |
My point was to move the testing part of youki from that workflow to e2e.
It is natural to include our integration_test in e2e. I was rather trying to do that regardless of this. |
Hey @yihuaf , I agree with @utam0k in the respect that running the rust e2e tests on youki itself should be done in the same workflow as of e2e. As for running them on runc for validation when they themselves are changed, we can do it in a separate workflow such as integration_validate.yaml or such. Also for improving the CI, I'll add some points that I have in my mind later. We can handle them in a separate issue, or take them up with this as per convenience. |
Things that (I think) might benefit from changing in CI main.yaml :
release.yml
podman_tests.yaml :
integration_tests_validation.yaml
benchmark_execution_time.yaml:
👀 @yihuaf |
@utam0k @YJDoc2 Would you please double check my thinking here.
This is triggered by #1967 failing the integration test because the extra error logging I added. Upon investigation, I think the integration test is either not triggered correctly, or we should add integration test into the main CI workflow.
Currently, the
integration_test_validation.yaml
is only triggered when the integration test code are changed. The workflow runsrunc
andyouki
to make sure that the integration tests runs for both. This make sense because we want to make sure we don't introduce breaking changes so the same validation tests can be used forrunc
as well.However, other than this occasion, the integration tests are not triggered at all. This means code changes to
youki
and/orlibcontainer
alone do not trigger integration test. This is bad because we can easily break integration test without knowing.To resolve this, we should either:
main.yaml
and use the same trigger. Likely, we should trigger the integration as a different job so that we can parallelize the integration test and the existing tests (unit tests, clippy and etc.)I would prefer (1) so that we can share the same trigger.
The text was updated successfully, but these errors were encountered: