-
Notifications
You must be signed in to change notification settings - Fork 46
Run e2e tests on each PR. #584
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
Open
purple4reina
wants to merge
52
commits into
main
Choose a base branch
from
rey.abolofia/run-e2e
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
f302bd5
to
6889e0f
Compare
6ab7639
to
33568a6
Compare
c1ca9e0
to
0a11d3d
Compare
648de9a
to
2510813
Compare
f83ee2a
to
e2c18b1
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Run the serverless-e2e-tests on PR, skipping anything that isn't a python test. First publishes the layer build to sandbox account region us-west-2. Then, after gathering the arn for the new layer, pass that to the e2e tests for testing.
Motivation
Better to get alerted right away to potential e2e bugs.
Testing Guidelines
Additional Notes
Because this job is triggering job in a different repo, it is quite tough to access the results of that downstream job. As designed right now, a
e2e-status
job will be created in addition to thee2e-test
job. This status job runs only after thee2e-test
job completes. The reason this status job is necessary is so that we can post the results back to github.The problem with this is the
e2e-status
job can take hours to fully complete. That's because not only do all the other tests in this repo need to run (integration, unit, layer size, etc), it also needs to run the e2e tests, and it must also wait for the full teardown of aws resources. The latter is what can take so long because these teardown jobs are set to run after a 2 hour delay. So, we technically aren't able to get results posted back to github until all of that completes.The work around, which was too hard to implement with the time I had, is to use the gitlab api to poll the status of the
e2e-test
job. This might involve creating a Project Token which is more work that I think it's worth.An alternative solution is to set the
e2e-status
test as required by github. There are some major problems with this though. There are times in which we would expect that the e2e tests would fail. For example, if I'm implementing a new feature which will turn an e2e test from not working to working, then the e2e tests themselves will always fail in that case, which is what we want. To get around that, we could remove the xfail strict requirement on the e2e tests downstream. But this would mean we aren't able to keep our feature parity doc in lock step with reality.At this point, I think the best thing to do is to mark the
e2e-status
job as required. We are always able to override these failures in the UI, which shouldn't mean we're moving any slower.Types of Changes
Check all that apply
https://datadoghq.atlassian.net/browse/APMSVLS-20