Skip to content

Fix CI timeout by using Docker images instead of building from source - #106

Closed
RonTuretzky wants to merge 4 commits into
devfrom
fix-ci-timeout-use-docker
Closed

Fix CI timeout by using Docker images instead of building from source#106
RonTuretzky wants to merge 4 commits into
devfrom
fix-ci-timeout-use-docker

Conversation

@RonTuretzky

Copy link
Copy Markdown
Contributor

Summary

  • Fixes the fast-aggregation-test CI workflow timeout issue
  • Replaces local compilation with pre-built Docker images
  • Ensures proper workflow sequencing

Changes

  • Reduced timeout from 20 to 10 minutes (appropriate for Docker-based tests)
  • Replaced local Cargo builds with pre-built Docker images from ghcr.io
  • Added workflow dependency to ensure Docker images are built before test runs
  • Support dual triggers: both direct push to dev and workflow_run events
  • Updated log collection to use Docker logs instead of file-based logs
  • Only build verification script locally (much faster - 5 minute timeout)

Problem

The CI was timing out during the build phase. Compilation was taking >360 seconds and hitting the 20-minute workflow limit before tests could even run.

Solution

Use the Docker images that are already being built by the Docker CI/CD workflow. This eliminates the need to compile the router and AVS node from source during testing.

Test Plan

  • CI passes with the new Docker-based approach
  • Fast aggregation test completes within 10 minutes
  • Verification script confirms counter increments

🤖 Generated with Claude Code

RonTuretzky and others added 2 commits September 29, 2025 16:07
- Reduce timeout from 20 to 10 minutes (appropriate for Docker-based tests)
- Replace local Cargo builds with pre-built Docker images from ghcr.io
- Add workflow dependency to ensure Docker images are built before test runs
- Support both direct push to dev and workflow_run triggers
- Update all log collection to use Docker logs instead of file-based logs
- Only build the verification script locally (much faster)

This fixes the timeout issue where builds were taking >360 seconds and hitting
the 20-minute limit. Using Docker images should complete in <10 minutes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove all unnecessary build steps and manual service starts
- Use docker-compose to start ALL services (including router)
- Router image is pulled from ghcr.io, no local building needed
- Removed verification script build (not needed for this test)
- Much cleaner and simpler workflow matching integration test pattern
- Test now focuses only on verifying fast aggregation frequency works

The test is now much simpler:
1. Set up .env with AGGREGATION_FREQUENCY=0.3
2. Start all services with docker-compose
3. Wait for EigenLayer setup
4. Verify counter increments at fast rate

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@RonTuretzky
RonTuretzky requested a review from Copilot September 29, 2025 21:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR addresses CI timeout issues in the fast-aggregation-test workflow by replacing local source compilation with pre-built Docker images, reducing timeout and improving workflow reliability.

Key changes:

  • Replaced local Rust compilation with pre-built Docker images from ghcr.io
  • Reduced timeout from 20 to 10 minutes to match Docker-based execution
  • Added workflow dependency to ensure Docker images are available before test execution

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +7 to +12
workflow_run:
workflows: ["Docker CI/CD"]
types:
- completed
branches:
- dev

Copilot AI Sep 29, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow_run trigger will execute on any completion of the "Docker CI/CD" workflow, including failures. This could cause the test workflow to run against potentially broken Docker images. The condition on line 20 checks for success, but it would be more efficient to filter at the trigger level using types: [completed] with a more specific condition or use types: [success] if available.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/fast-aggregation-test.yml
Comment thread .github/workflows/fast-aggregation-test.yml
The test was failing because the router was using default 30s aggregation
instead of the expected 0.3s. The env var needs to be explicitly passed
in the docker-compose override.
@bagelface

Copy link
Copy Markdown
Contributor

not relevant anymore

@bagelface bagelface closed this Sep 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants