Skip to content

ci: run simualtion tests nightly#3999

Merged
kingpinXD merged 4 commits intodevelopfrom
simulation-tests-nightly
Jul 1, 2025
Merged

ci: run simualtion tests nightly#3999
kingpinXD merged 4 commits intodevelopfrom
simulation-tests-nightly

Conversation

@kingpinXD
Copy link
Member

@kingpinXD kingpinXD commented Jun 30, 2025

Description

Runs the simulation tests nightly

How Has This Been Tested?

  • Tested CCTX in localnet
  • Tested in development environment
  • Go unit tests
  • Go integration tests
  • Tested via GitHub Actions

Summary by CodeRabbit

  • Chores
    • Simulation tests are now scheduled to run nightly.
    • Added automated Slack notifications for simulation test results on scheduled or failed runs.
  • Documentation
    • Updated changelog to reflect the addition of nightly simulation test schedules.

@kingpinXD kingpinXD requested a review from a team as a code owner June 30, 2025 20:04
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jun 30, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

The simulation test workflow was updated to explicitly set default test targets for scheduled events and to add a Slack notification step that reports simulation test results. The changelog was updated to document the introduction of nightly scheduled simulation tests.

Changes

File(s) Change Summary
.github/workflows/sim.yml Sets default simulation test targets for scheduled events; adds a Slack notification step for results
changelog.md Adds an entry describing nightly scheduled simulation tests under "UNRELEASED"

Sequence Diagram(s)

sequenceDiagram
    participant GitHub Actions
    participant Simulation Tests
    participant Slack Webhook

    GitHub Actions->>Simulation Tests: Trigger (scheduled or push)
    Simulation Tests-->>GitHub Actions: Run tests, collect results
    alt Scheduled event or push with failures
        GitHub Actions->>Slack Webhook: Post formatted results message
    end
Loading

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need 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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added the ci Changes to CI pipeline or github actions label Jun 30, 2025
@kingpinXD kingpinXD changed the title test: ru simualtion tests nighlty test: run simualtion tests nighlty Jun 30, 2025
Copy link
Member

@julianrubino julianrubino left a comment

Choose a reason for hiding this comment

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

lgtm

@kingpinXD kingpinXD requested a review from a team as a code owner June 30, 2025 20:06
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Bug: Slack Notifications Exclude Simulation Tests

The Slack notification for simulation tests is incomplete due to incorrect job filtering and name extraction logic. The simJobs filter job.name.includes('/') incorrectly excludes all simulation test jobs, as their names (e.g., "test-sim-nondeterminism") do not contain a slash. Even if they did, the job.name.split("/")[0] logic would extract the generic workflow name (e.g., "simulation-tests") instead of the specific test name. This prevents individual simulation test results from being displayed in Slack notifications.

.github/workflows/sim.yml#L123-L130

const simJobs = data.jobs.filter(job => job.name.includes('/') && job.conclusion != 'skipped');
const simResults = simJobs.map(job => {
const icon = job.conclusion === 'success' ? ':white_check_mark:' : ':x:';
const cleanName = job.name.split("/")[0];
return `${icon} ${cleanName}`;
});

Fix in Cursor


Comment bugbot run to trigger another review on this PR
Was this report helpful? Give feedback by reacting with 👍 or 👎

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5bd04ca and 3e87923.

📒 Files selected for processing (2)
  • .github/workflows/sim.yml (2 hunks)
  • changelog.md (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: lumtis
PR: zeta-chain/node#2459
File: e2e/config/config.go:285-293
Timestamp: 2024-07-11T13:10:39.153Z
Learning: Tests should not be suggested in the `e2e` package for the `zeta-chain/node` repository.
Learnt from: kingpinXD
PR: zeta-chain/node#3503
File: e2e/runner/require.go:0-0
Timestamp: 2025-02-07T19:33:35.631Z
Learning: In e2e tests for the zeta-chain/node repository, minimize computation and avoid redundant checks that are already covered by unit tests to ensure faster execution. For example, ballot sorting is verified in unit tests, so e2e tests can safely assume the order.
Learnt from: skosito
PR: zeta-chain/node#3939
File: go.mod:52-52
Timestamp: 2025-05-30T16:31:30.275Z
Learning: The ethermint dependency updates in the zeta-chain/node repository are typically moves between feature branches and main branch of the same fork, not breaking API changes. CI status should be verified before assuming compilation issues.
Learnt from: gartnera
PR: zeta-chain/node#3070
File: cmd/zetae2e/init.go:0-0
Timestamp: 2024-10-30T17:56:16.341Z
Learning: In code reviews for Go files like `cmd/zetae2e/init.go` in the ZetaChain project, avoid suggesting unrelated refactoring. Focus comments on changes relevant to the PR objectives.
changelog.md (4)
Learnt from: ws4charlie
PR: zeta-chain/node#2870
File: zetaclient/orchestrator/bootstrap.go:142-142
Timestamp: 2024-09-13T22:51:02.192Z
Learning: When code changes involve only renaming without functional changes, and static analysis tools flag missing test coverage, acknowledge that existing tests likely already cover the functionality, and additional tests may not be necessary.
Learnt from: lumtis
PR: zeta-chain/node#2459
File: e2e/config/config.go:285-293
Timestamp: 2024-07-11T13:10:39.153Z
Learning: Tests should not be suggested in the `e2e` package for the `zeta-chain/node` repository.
Learnt from: skosito
PR: zeta-chain/node#3939
File: go.mod:52-52
Timestamp: 2025-05-30T16:31:30.275Z
Learning: The ethermint dependency updates in the zeta-chain/node repository are typically moves between feature branches and main branch of the same fork, not breaking API changes. CI status should be verified before assuming compilation issues.
Learnt from: kingpinXD
PR: zeta-chain/node#3503
File: e2e/runner/require.go:0-0
Timestamp: 2025-02-07T19:33:35.631Z
Learning: In e2e tests for the zeta-chain/node repository, minimize computation and avoid redundant checks that are already covered by unit tests to ensure faster execution. For example, ballot sorting is verified in unit tests, so e2e tests can safely assume the order.
⏰ Context from checks skipped due to timeout of 90000ms (7)
  • GitHub Check: gosec
  • GitHub Check: lint
  • GitHub Check: build-and-test
  • GitHub Check: build-zetanode
  • GitHub Check: Cursor BugBot
  • GitHub Check: analyze (go)
  • GitHub Check: build
🔇 Additional comments (2)
changelog.md (1)

32-32: Entry correctly added – no further action needed

The new bullet follows the existing style and links to the correct PR; nothing else to flag.

.github/workflows/sim.yml (1)

71-73: Good catch: default targets now set for nightly runs

Explicitly populating makeTargets for the schedule event makes the workflow deterministic and avoids accidental no-ops. Looks solid.

@kingpinXD
Copy link
Member Author

Bug: Slack Notifications Exclude Simulation Tests

The Slack notification for simulation tests is incomplete due to incorrect job filtering and name extraction logic. The simJobs filter job.name.includes('/') incorrectly excludes all simulation test jobs, as their names (e.g., "test-sim-nondeterminism") do not contain a slash. Even if they did, the job.name.split("/")[0] logic would extract the generic workflow name (e.g., "simulation-tests") instead of the specific test name. This prevents individual simulation test results from being displayed in Slack notifications.

.github/workflows/sim.yml#L123-L130
Fix in Cursor

Comment bugbot run to trigger another review on this PR Was this report helpful? Give feedback by reacting with 👍 or 👎

This seems valid , but also it works for the current e2e.yml which I used as a template .
@julianrubino would you know why we use this parsing logic for the e2e notfications , and how does it work as expected ?

@kingpinXD kingpinXD changed the title test: run simualtion tests nighlty test: run simualtion tests nightly Jun 30, 2025
@lumtis lumtis changed the title test: run simualtion tests nightly ci: run simualtion tests nightly Jul 1, 2025
Copy link
Contributor

@lumtis lumtis left a comment

Choose a reason for hiding this comment

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

Changed PR title to CI

@kingpinXD kingpinXD enabled auto-merge July 1, 2025 18:15
@kingpinXD kingpinXD added this pull request to the merge queue Jul 1, 2025
Merged via the queue into develop with commit 3972627 Jul 1, 2025
48 checks passed
@kingpinXD kingpinXD deleted the simulation-tests-nightly branch July 1, 2025 18:51
lumtis pushed a commit that referenced this pull request Jul 2, 2025
* update sim.yml

* add changelog

* update generated files
github-merge-queue bot pushed a commit that referenced this pull request Jul 9, 2025
* add empty test dapp

* add test

* generate

* update gomod

* fix imports

* smaller message

* fix size

* ci: generate TypeScript types (#3978)

* test: lower Bitcoin E2E deposit tx fee to make nightly test cheaper (#3989)

lower Bitcoin E2E deposit test tx fee

* test: add connector fund migration e2e test using contracts only  (#3976)

* update go mod

* add a new message for migrating funds

* add migrate funds to e2e

* rebase from develop

* add v2 e2e test to check flow

* add zeta gateway deposit to zetaclient

* add github workflow

* update comments

* fix code formating

* fix code formating

* fix code formating

* fix unit tests

* fix unit tests

* revert to old command to start e2e test

* remove message for migration and refactor to using contract directly

* add changelog

* generate files after removing new message

* update generated files

* update generated files

* resolve comments 1

* remove v2 from naming

* generate files

* chore: fix some comments (#3993)

Signed-off-by: yingshanghuangqiao <yingshanghuangqiao@foxmail.com>

* feat(ton): integrate new functionality (#3977)

* Add ton.call operation

* vote inbound call

* update ton's gateway code

* e2e: ton_to_zevm_call

* Add increaseSeqno parsing

* ton: signer: increase_seqno integration

* ton: observer: increase_seqno integration

* Fix bugs. E2E for increase_seqno

* Update changelog

* Address PR comments

* Simplify inbound voting

* outbounds: validate nonce & simplify code

* bump gw

* refactor: update generated files (#4000)

update generated files

* ci: run simualtion tests nightly (#3999)

* update sim.yml

* add changelog

* update generated files

* generate

* add test for deposit with big payload

* generate

* update contract version

* try removing test

* fix wrong method called

* remove redundant log

* generate

* add version condition

---------

Signed-off-by: yingshanghuangqiao <yingshanghuangqiao@foxmail.com>
Co-authored-by: Denis Fadeev <denis@fadeev.org>
Co-authored-by: Charlie Chen <34498985+ws4charlie@users.noreply.github.com>
Co-authored-by: Tanmay <tanmay@zetachain.com>
Co-authored-by: yingshanghuangqiao <yingshanghuangqiao@foxmail.com>
Co-authored-by: Dmitry S <11892559+swift1337@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Changes to CI pipeline or github actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants