-
Notifications
You must be signed in to change notification settings - Fork 3
E2E Test Automation Enhancements #66
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: master
Are you sure you want to change the base?
Conversation
WalkthroughThe CircleCI configuration was updated to introduce a dynamic Changes
Sequence Diagram(s)sequenceDiagram
participant Pipeline
participant E2E-Tests
participant Testnet-E2E-Tests
participant Mainnet-E2E-Tests
participant Publish-NPM
alt run_e2e_tests is true
Pipeline->>E2E-Tests: Run with test_command = "npm run test-mainnet-viem-combined"
else run_e2e_tests is false
alt branch = develop
Pipeline->>Testnet-E2E-Tests: Run with test_command = "npm run test-testnet-viem-combined"
else branch = master
Pipeline->>Mainnet-E2E-Tests: Run with test_command = "npm run test-mainnet-viem-combined"
Mainnet-E2E-Tests->>Publish-NPM: On success, trigger publish
end
end
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Yooo! You forgot to bump the version in package.json! |
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: 2
🧹 Nitpick comments (1)
.circleci/config.yml (1)
271-271
: Remove extraneous blank line
There’s an extra blank line at the end of the file, triggering a YAML lint warning. Removing it will satisfy the empty-lines rule.🧰 Tools
🪛 YAMLlint (1.37.1)
[warning] 271-271: too many blank lines
(1 > 0) (empty-lines)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.circleci/config.yml
(4 hunks)
🧰 Additional context used
🪛 YAMLlint (1.37.1)
.circleci/config.yml
[warning] 271-271: too many blank lines
(1 > 0) (empty-lines)
🔇 Additional comments (7)
.circleci/config.yml (7)
50-54
: Job-leveltest_command
parameter looks good
Thee2e-tests
job now cleanly accepts atest_command
parameter (lines 50–54), enabling workflows to override the test command dynamically.
104-104
: Verify parameter substitution within a multiline script
You’ve injected<< parameters.test_command >>
inside a bashcommand: |
block. Please confirm that CircleCI expands parameters inside literal blocks as intended so the correct test command runs.
233-235
:install-and-publish
conditional is correct
Usingwhen: not << pipeline.parameters.run_e2e_tests >>
properly gates this workflow when E2E tests aren’t explicitly requested.
240-246
: Validate branch filter for testnet E2E tests
Thetestnet-e2e-tests
job is filtered to thedevelop
branch (lines 240–246), but adevelop
branch doesn’t currently exist. Please confirm or update this filter to match your branch strategy.
247-254
: Confirm default branch for mainnet E2E tests
Themainnet-e2e-tests
job filters onmaster
(lines 247–254). If your default branch is namedmain
, this job won’t trigger—please verify and adjust accordingly.
258-262
: Alignpublish-npm-package
branch filter with default branch
Publishing is gated tomaster
(lines 258–262). Ensure this matches your repository’s primary branch to avoid missing npm releases.
270-271
: Check GitHub release workflow branch filter
Thepublish-github-release
job is also restricted tomaster
(lines 270–271); verify that this aligns with your actual default branch for consistent release automation.🧰 Tools
🪛 YAMLlint (1.37.1)
[warning] 271-271: too many blank lines
(1 > 0) (empty-lines)
test_command: | ||
type: string | ||
default: "npm run test-testnet-viem-combined" |
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.
🛠️ Refactor suggestion
Remove or utilize unused top-level test_command
pipeline parameter
The pipeline-level parameter test_command
is declared (lines 6–8) but never actually consumed by any workflow. Either remove these lines to avoid redundancy or leverage the pipeline parameter in your workflows (for example, by passing test_command: << pipeline.parameters.test_command >>
to the e2e-tests
job) to DRY up the configuration.
🤖 Prompt for AI Agents
In .circleci/config.yml around lines 6 to 8, the pipeline parameter
`test_command` is declared but not used anywhere in the workflows. To fix this,
either remove the `test_command` parameter declaration entirely to avoid
redundancy, or update the relevant workflows and jobs (such as the `e2e-tests`
job) to consume this parameter by passing `test_command: <<
pipeline.parameters.test_command >>` so the configuration is more maintainable
and DRY.
Yooo! You forgot to bump the version in package.json! |
This PR introduces automated E2E test workflows to improve testing consistency and catch issues early across different environments.
Workflow Summary:
Nightly Runs:
npm run test-mainnet-viem-combined
runs every night automatically.On Commit to master:
test-mainnet-viem-combined
.On Commit to develop:
npm run test-testnet-viem-combined
.Note: We currently do not have a develop branch
Alerts: All test alerts are sent to the #e2e channel on Slack for immediate visibility.
Summary by CodeRabbit