-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
fix: update CI to avoid running out of memory #1206
Conversation
|
Codecov Report
@@ Coverage Diff @@
## develop #1206 +/- ##
========================================
Coverage 86.05% 86.05%
========================================
Files 49 49
Lines 1936 1936
Branches 307 307
========================================
Hits 1666 1666
Misses 270 270 Continue to review full report at Codecov.
|
2e2339e
to
9be5d82
Compare
@@ -38,7 +38,13 @@ jobs: | |||
|
|||
- name: Bring the stack up | |||
working-directory: ./ops | |||
run: docker-compose up -d | |||
run: | | |||
./scripts/stats.sh & |
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 seems that running this once here is good enough. It appears to run continuously throughout the rest of the workflow.
./scripts/stats.sh & | ||
docker-compose up -d | ||
|
||
- name: Wait for the Sequencer node |
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 is the step that helps avoid memory issues. The problem was that the integration tests would start before the docker setup was finished starting. This doesn't fix /all/ memory issues but definitely fixes the most common issue. I having the stats.sh script will help debug future issues.
@@ -99,11 +105,11 @@ jobs: | |||
uses: jwalton/gh-docker-logs@v1 | |||
with: | |||
images: 'ethereumoptimism/builder,ethereumoptimism/hardhat,ethereumoptimism/deployer,ethereumoptimism/data-transport-layer,ethereumoptimism/l2geth,ethereumoptimism/message-relayer,ethereumoptimism/batch-submitter,ethereumoptimism/l2geth,ethereumoptimism/integration-tests' | |||
dest: './logs' | |||
dest: '~/logs' |
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 this because it was easier to reliably stuff things into ~/logs
from other scripts (namely from stats.sh
).
cbc9dea
to
46aee66
Compare
46aee66
to
1f8661e
Compare
Description
Resolves most common issues with CI running out of memory by waiting for the Sequencer before starting the integration tests. Also adds a
stats.sh
script that will log current memory usage of different parts of the system once per second while the integration tests are running.Metadata