-
Notifications
You must be signed in to change notification settings - Fork 27
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
[3.2] Add logs to artifacts #550
Conversation
.github/workflows/ubuntu-2004.yml
Outdated
with: | ||
name: parallel-logs | ||
path: | | ||
build/var/* |
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 went to the artifacts page https://github.com/eosnetworkfoundation/mandel/actions/runs/2580037524#artifacts for this PR's CICD and downloaded forked-chain-logs
and irreversible-logs
. I only saw var/subprocess_results.log
and etc/eosio/launcher/testnet.template
. I did not see directories like var/lib/node_00
, etc/eosio/node_00
, ...
Not sure you need to specify all the directory levels like build/var/lib/*/*
to get build/var/lib/node_00
, or just build
to get the whole directory. Or those node directories were somehow deleted.
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.
They are cleaned up by the tests on successful runs. We might choose to add --keep-logs
to our tests in the future so they are preserved for successful runs, but we do not currently do that.
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.
Just kicked off: #567 so we can verify logs are saved on failed 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.
I did not see logs for the failed tests in https://github.com/eosnetworkfoundation/mandel/actions/runs/2586917690#artifacts.
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.
It looks like you need to set continue-on-error: true
for the test step so that the upload step still executes when tests fail
…hey are also uploaded on test failures.
The |
It seems like the upload was removed from some jobs? Like parallel and wasm tests. |
Yes. Those jobs do not log anything to var/* or etc/*. They only have the output from ctest. I did add |
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 saw logs now in the test PR. Just one thing. Those saved files are very big, 4GB for a test. Will the copying slow down in successful tests? I think we don't need to pay for the storage.
My original thought was that it might be useful to compare a successful run output, but since we are not currently passing |
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.
one sec
I think you should instead tarball up (w/ zstd) these logs in to a single artifact upload (per job, of course) Based on https://github.com/actions/upload-artifact#too-many-uploads-resulting-in-429-responses and how long it took for my download of this zip file to start, I suspect you're really actually uploading 10+GB when the logs are uploaded |
okay good news is that it is gzip compressing each file but it's still going to be a lot more efficient if we just tarball these up before sending them. In particular tar will handle those shared_memory.bin sparse files a lot better. |
ugh |
Store off logs as Github Workflow artifacts.
This does not address everything we would like to see archived, but it is a good first step.