Skip to content

Conversation

@ilitteri
Copy link
Contributor

Motivation

L1 dev was not being tested independently of any changes in the L2.

Description

The integration test that aims to test ethrex L2 dev is suited for fulfilling this purpose.

Copilot AI review requested due to automatic review settings November 10, 2025 22:41
@ilitteri ilitteri requested a review from a team as a code owner November 10, 2025 22:41
@github-actions github-actions bot added L1 Ethereum client L2 Rollup client labels Nov 10, 2025
Copilot finished reviewing on behalf of ilitteri November 10, 2025 22:44
Copy link
Contributor

Copilot AI left a comment

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 separates the L1 & L2 dev integration testing into its own dedicated workflow, removing it from the main L2 workflow to enable independent testing of L1 dev changes.

  • Creates a new standalone workflow .github/workflows/pr-main_l1_l2_dev.yaml for testing L1 & L2 dev together
  • Removes the integration-test-l2-dev job from the existing L2 workflow
  • Updates the all-tests job dependencies to reflect the removed integration test

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
.github/workflows/pr-main_l2.yaml Removes the integration-test-l2-dev job and updates the all-tests job dependencies
.github/workflows/pr-main_l1_l2_dev.yaml Adds new workflow for testing L1 & L2 dev integration with ethrex running in dev mode

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

]
[detect-changes, integration-test, state-diff-test, integration-test-tdx]
# Make sure this job runs even if the previous jobs failed or were skipped
if: ${{ needs.detect-changes.outputs.run_tests == 'true' && always() && needs.integration-test.result != 'skipped' && needs.state-diff-test.result != 'skipped' && needs.integration-test-tdx.result != 'skipped' && needs.integration-test-l2-dev.result != 'skipped' }}
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

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

The if condition still references needs.integration-test-l2-dev.result, but integration-test-l2-dev has been removed from the needs array. This will cause the workflow to fail because it references a non-existent dependency. Remove && needs.integration-test-l2-dev.result != 'skipped' from this condition.

Suggested change
if: ${{ needs.detect-changes.outputs.run_tests == 'true' && always() && needs.integration-test.result != 'skipped' && needs.state-diff-test.result != 'skipped' && needs.integration-test-tdx.result != 'skipped' && needs.integration-test-l2-dev.result != 'skipped' }}
if: ${{ needs.detect-changes.outputs.run_tests == 'true' && always() && needs.integration-test.result != 'skipped' && needs.state-diff-test.result != 'skipped' && needs.integration-test-tdx.result != 'skipped' }}

Copilot uses AI. Check for mistakes.
- name: Show ENVs
run: |
cat .env
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

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

This step attempts to display the contents of .env file, but when using --dev mode (as in line 42), no .env file is created. The --dev flag handles configuration internally without generating an .env file. This step will fail with "No such file or directory". Consider removing this step or checking if the file exists before attempting to display it.

Suggested change
cat .env
if [ -f .env ]; then cat .env; else echo ".env file does not exist"; fi

Copilot uses AI. Check for mistakes.
cd crates/l2
tail -n 100 -f /tmp/ethrex.log &
tail -n 100 -f /tmp/prover.log &
export $(shell cat .env | xargs); \
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

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

The syntax $(shell cat .env | xargs) is Makefile syntax, not valid Bash syntax. In Bash, this should be $(cat .env 2>/dev/null | xargs) or similar. Additionally, this references a .env file that doesn't exist when using --dev mode. Since the --dev flag handles all configuration internally, this export statement is likely unnecessary and will cause the workflow to fail.

Suggested change
export $(shell cat .env | xargs); \

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,77 @@
name: L1 & L2 Dev
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is clearly an L2 tests, so I would call it L2 Dev

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done 3407671.

@@ -0,0 +1,77 @@
name: L2 Dev
Copy link
Collaborator

Choose a reason for hiding this comment

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

We should document that this is used on L1 to make sure --dev works correctly

@github-project-automation github-project-automation bot moved this to In Review in ethrex_l1 Nov 11, 2025
@ilitteri ilitteri added this pull request to the merge queue Nov 11, 2025
Merged via the queue into main with commit aed2a7e Nov 11, 2025
44 checks passed
@ilitteri ilitteri deleted the ci_workflow_test_l1_l2_dev branch November 11, 2025 23:10
@github-project-automation github-project-automation bot moved this from In Review to Done in ethrex_l1 Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

L1 Ethereum client L2 Rollup client

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants