-
Notifications
You must be signed in to change notification settings - Fork 631
add workflow to release e2e test image weekly #1781
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
base: develop
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughA new GitHub Actions workflow file is introduced that automatically builds and pushes Docker images for three services (rollup_relayer, coordinator-api, coordinator-cron) to Docker Hub on a weekly schedule or manual trigger, with platform-specific configurations. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Actionable comments posted: 0
🧹 Nitpick comments (3)
.github/workflows/docker-e2e.yml (3)
10-11: Consider adding a date suffix for build traceability.Using a static
e2e-testtag overwrites images weekly. If an e2e test fails, it may be difficult to correlate with a specific build. Consider appending a date suffix (e.g.,e2e-test-20260113) while optionally also tagginge2e-testas a floating latest.💡 Example with date-based tagging
env: - IMAGE_TAG: e2e-test + IMAGE_TAG: e2e-test-${{ github.run_id }}Or use a date:
env: IMAGE_TAG_DATED: e2e-test-${{ github.event.repository.updated_at || github.run_id }} IMAGE_TAG_LATEST: e2e-testThen push both tags for each image.
62-72: Track the arm64 build bug in an issue.The commented
platformsline with "bugs for arm64" note indicates a known issue. Consider opening a GitHub issue to track this so it doesn't get forgotten, and reference the issue number in the comment for visibility.- # platforms: linux/amd64,linux/arm64 #bugs for arm64 + # TODO(#ISSUE_NUMBER): Enable arm64 once build issue is resolved + platforms: linux/amd64Would you like me to help draft an issue to track the arm64 build bug for
coordinator-api?
13-102: Consider a matrix strategy to reduce duplication.All three jobs share identical setup steps (checkout, QEMU, Buildx, login). A matrix strategy could reduce ~60 lines of YAML while maintaining parallel execution.
💡 Example matrix-based approach
jobs: build-and-push: runs-on: ubuntu-latest strategy: matrix: include: - repository: rollup-relayer dockerfile: ./build/dockerfiles/rollup_relayer.Dockerfile platforms: linux/amd64,linux/arm64 - repository: coordinator-api dockerfile: ./build/dockerfiles/coordinator-api.Dockerfile platforms: linux/amd64 # arm64 disabled due to build issues - repository: coordinator-cron dockerfile: ./build/dockerfiles/coordinator-cron.Dockerfile platforms: linux/amd64,linux/arm64 steps: - name: Checkout code uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Set up QEMU uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0 - name: Login to Docker Hub uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 with: context: . file: ${{ matrix.dockerfile }} platforms: ${{ matrix.platforms }} push: true tags: scrolltech/${{ matrix.repository }}:${{ env.IMAGE_TAG }}
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/docker-e2e.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: tests
🔇 Additional comments (4)
.github/workflows/docker-e2e.yml (4)
3-8: LGTM on workflow triggers.The cron schedule correctly triggers on Fridays at 00:00 UTC, and
workflow_dispatchenables manual testing—both are appropriate for this use case.
14-42: Good security practices with SHA-pinned actions.The use of full SHA commits for action versions provides supply chain security by preventing tag mutation attacks. Multi-platform builds (amd64/arm64) are correctly configured.
74-102: LGTM for coordinator-cron job.The multi-platform build configuration is consistent with
rollup_relayerand correctly targets both amd64 and arm64.
38-38: All referenced Dockerfiles exist at the specified paths. No issues found.
Purpose or design rationale of this PR
Describe your change. Make sure to answer these three questions: What does this PR do? Why does it do it? How does it do it?
PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:
Deployment tag versioning
Has
tagincommon/version.gobeen updated or have you addedbump-versionlabel to this PR?Breaking change label
Does this PR have the
breaking-changelabel?Summary by CodeRabbit
Release Notes
✏️ Tip: You can customize this high-level summary in your review settings.