-
Notifications
You must be signed in to change notification settings - Fork 158
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
E2E: Simplify smoke and extended tests #2871
Conversation
…microsoft/AzureTRE into tborisova/simplify-smoke-extended-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.
Requesting changes as I don't want this PR merged before we can address my main concern: running more tests on PRs is very likely to make them harder to merge given the instability we see in Azure provisioning resources.
@@ -91,6 +92,7 @@ async def test_patch_firewall(verify): | |||
] | |||
|
|||
|
|||
@pytest.mark.extended |
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.
this currently fails 100% of the time on the main branch and is very likely to fail on repeat runs at some point in PR environments.
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.
I was working on this another day, I managed to get Gitea deployed but I'm going to try delete it and re-deploy a couple more times. If it works, I'd like to leave it in
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.
Yeah it still seems to be failing with the same problem "secret being recovered and can't be deleted". I will mark this test as skipped for now.
@@ -9,6 +9,7 @@ | |||
LOGGER = logging.getLogger(__name__) | |||
|
|||
|
|||
@pytest.mark.extended |
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.
Since almost every other service does an internal update on the firewall, do we even need it?
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.
Good point, I think we can remove this one
@@ -89,36 +89,6 @@ | |||
"false" | |||
] | |||
}, | |||
{ | |||
"name": "E2E Extended AAD", |
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.
How does one debug a specific test?
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.
You couldn't do that before either though? There is still a target for E2E Extended tests, there's just no separate target for AAD.
needs.pr_comment.outputs.command == 'run-tests-extended' || | ||
needs.pr_comment.outputs.command == 'run-tests-extended-aad' || | ||
needs.pr_comment.outputs.command == 'run-tests-shared-services' | ||
needs.pr_comment.outputs.command == 'run-tests-extended' |
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.
Shouldn't the command be still available for cases where developers know what they want to test?
For example, if I change a shared service being tested I will call the run-shared-services without any of the workspace level stuff?
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.
sort of agree - however now that workspaces + services can update those shared services, and do, there's also a case to be made that we should be running all the tests as we need to test the pipeline update from a workspace -> shared service?
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.
Shouldn't the command be still available for cases where developers know what they want to test?
I think a more future-proof way to do it is would be to run a workflow with a custom selector. This way we can easily extend selectors without having to update PR bot each time.
there's also a case to be made that we should be running all the tests as we need to test the pipeline update from a workspace -> shared service?
Well other bundles only really update firewall, and that will be tested by deploying said bundles. I don't think we would need to test shared services each time
This doesn't add any more tests that are required for a PR to pass though. Only running smoke tests is required. Given that running |
Granted - the As for the custom selector, it's not relevant for many PRs as the bot doesn't (and shouldn't) expose that functionality. You must have a branch in this repo to make use of it. |
@tamirkamara I agree that a balance should be kept, my intention was mostly bringing all these additional things to extended set of tests and only mandate to run it nightly. Alternatively we could create a new selector, call it Let's discuss on the morning call tomorrow? |
We concluded that before this is useful, we should try and see if we can allow running tests with custom selector from PR bot, securely. I'm going to move it to |
Resolves #2869
Refactor selectors in our E2E tests so that we have 3 groups of tests:
How this was done
e2e_tests/test_get_templates.py
to simplify folder structure a bit