-
Notifications
You must be signed in to change notification settings - Fork 162
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
[WIP] Call the workflow from eden #3364
Conversation
Signed-off-by: yash-zededa <yash@zededa.com>
PR for this workflow in EDEN is here lf-edge/eden#877 |
--- | ||
name: Eden Test from lf-edge/eden | ||
|
||
on: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible with these reusable workflows to specify that smoke tests (job: smoke) should be run already on opening PR, while other tests require approval?
I think it would be great improvement over the current setup, because now even for basic eden tests we have to wait for somebody to approve PR. @uncleDecart WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TL;DR In theory we can. But it could be tricky and will look like magic outside Hogwarts
So we will need to actually create reusable workflow running smoke tests and another running all other tests and condition it on running after successful completion of smoke tests. This raises couple of questions:
- Will it be run after approval for first time committers? Most likely, yes. Otherwise people can ddos you with random PRs triggering tests which will use up all your resources
- Will there be problems with LTS releases? Possibly. Right now we are having troubles with
assets.yml
being run from master branch on LTS. It uses same mechanism I described for smoke tests. This could be a problem if we change tests. We can solve latter with reusable workflows forassets.yml
, but conditioning on jobs are a lil bit tricky. We can use something like,
- name: Network test
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: ....
but it might give us overall green light when tests are skipped
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In any case it would great to look for a way for long-term committers being able to start eden tests on their PRs (at least the smoke ones). Finding out that your PR breaks some essential stuff after review is not ideal. Same for asking someone else to give you approval without looking at the code just to trigger tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding DoS - I don't think there would be any difference between smoke tests job and say PR build job.
And first time committers only get DCO check without approval I believe, so this should not be a problem.
Eden PR is merged, I started a job in eden to see that |
|
||
jobs: | ||
call_test_wf_from_eden: | ||
uses: lf-edge/eden/.github/workflows/test.yml@master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually this is what I wanted to discuss. There's eden version and eve version as well. We need to test given EVE version with specific eden. I believe we need to add environment variable tag to specify EVE version and create versioning for eden (or at least versioning for test.yml action from eden) then when we bumping up eden version we are changing tag and EVE version will be chosen automatically.
@milan-zededa regarding your comment on propagating EVE version into this workflow. We created another PR in eden |
This PR will call the test workflow from eden. The configurations for the github actions would be DRY in the case for eden tests.