-
Notifications
You must be signed in to change notification settings - Fork 492
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
Enhancement: Nightly e2e test upload #3849
Enhancement: Nightly e2e test upload #3849
Conversation
Resolves #940 Adds a keep temps flag to the build to allow for the indexer to have updated test packages
Codecov Report
@@ Coverage Diff @@
## master #3849 +/- ##
==========================================
- Coverage 49.99% 49.98% -0.01%
==========================================
Files 393 393
Lines 68390 68390
==========================================
- Hits 34190 34186 -4
- Misses 30463 30469 +6
+ Partials 3737 3735 -2
Continue to review full report at Codecov.
|
@algojack Please leave comments showing how to enable only for nightly builds. |
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.
Looks close. The main thing left is making sure it only runs for the nightly build. Maybe KEEP_TEMPS is still good when combined with the arm64 test.
test/scripts/e2e.sh
Outdated
if [ $E2E_PLATFORM == "arm64" ]; then | ||
echo "Keeping temporary running" | ||
"${TEMPDIR}/ve/bin/python3" e2e_client_runner.py --keep-temps ${RUN_KMD_WITH_UNSAFE_SCRYPT} "$SRCROOT"/test/scripts/e2e_subs/*.{sh,py} | ||
|
||
pushd "${TEMPDIR}" || exit 1 | ||
|
||
aws configure list | ||
|
||
tar -j -c -f net_done.tar.bz2 --exclude node.log --exclude agreement.cdv net | ||
rm -rf "${TEMPDIR}/net" | ||
RSTAMP=$(TZ=UTC python -c 'import time; print("{:08x}".format(0xffffffff - int(time.time() - time.mktime((2020,1,1,0,0,0,-1,-1,-1)))))') | ||
echo aws s3 cp --acl public-read "${TEMPDIR}/net_done.tar.bz2" s3://algorand-testdata/indexer/e2e4/"${RSTAMP}"/net_done.tar.bz2 | ||
aws s3 cp "${TEMPDIR}/net_done.tar.bz2" s3://algorand-testdata/indexer/e2e4/"${RSTAMP}"/net_done.tar.bz2 | ||
# aws s3 cp "${TEMPDIR}/net_done.tar.bz2" s3://algorand-testdata-sandbox/indexer/e2e4/"${RSTAMP}"/net_done.tar.bz2 | ||
popd | ||
|
||
else | ||
"${TEMPDIR}/ve/bin/python3" e2e_client_runner.py ${RUN_KMD_WITH_UNSAFE_SCRYPT} "$SRCROOT"/test/scripts/e2e_subs/*.{sh,py} | ||
fi |
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.
Use spaces instead of tabs.
Remove commented out test.
Add a comment about why we are using --keep-temps, and that the artifact is used by Indexer.
Could you adjust the code to call e2e_client_runner.py
once instead of with an if/else? Pass --keep-temps
as a variable like we do with ${RUN_KMD_WITH_UNSAFE_SCRYPT}
. This way if we change e2e_client_runner in the future, we don't need to change as many places (i.e. in the lines below we still have *.sh
, which might be wrong).
After the job finishes, you can check if "${TEMPDIR}/net"
exists and use that to trigger the upload.
talked to Stephen, explained we can remove E2E_PLATFORM: << parameters.platform >> form non-nightly e2e_subs. Other than what Will already said, lgtm |
Every night, the e2e test results should be uploaded to the s3 bucket so that indexer tests can be run against the latest test results.