用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/tomes --skill tech-e2e-tests命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
> Use when this capability is needed.
Use when writing kernel, account, or note MASM code that reads from or writes to the advice provider (advice stack / advice map) — validate advice data.
Use when writing a Rust test that exercises a failure path or a MASM test that expects a `panic` / `assert` — assert on the specific expected error variant or error code.
基于 SOC 职业分类
正在显示 SKILL.md
| name | tech-e2e-tests |
| description | > Use when this capability is needed. |
The CI workflow .github/workflows/test.yml
(job call-agglayer-node-e2e-workflow) calls an external reusable workflow at
agglayer/e2e/.github/workflows/agglayer-node-e2e.yml.
It passes:
docker-image-override: agglayer_image)kurtosis-cdk-ref commitagglayer-e2e-ref commitkurtosis-cdk-args JSON block configuring the network
(including l1_el_type, sequencer_type, and reth_image
for the reth-based L1)The workflow runs
bats tests/agglayer/bridges.bats tests/agglayer/rpc-tests.bats --filter-tags agglayer
in the agglayer/e2e repo.
The bridges.bats file covers L1/L2 bridging;
rpc-tests.bats validates reth-specific RPC methods
(e.g. eth_getTransactionBySenderAndNonce).
E2E jobs only trigger on merge_group and workflow_dispatch events,
not on pull_request.
See Validating E2E on a PR branch
for how to exercise them before merging.
The agglayer/e2e repo bundles its own bats-support/bats-assert libraries
in core/helpers/lib/.
The tests use polycli ulxly bridge asset and polycli ulxly claim asset
for bridge operations.
The test environment is bootstrapped by sourcing tests/.env and
core/helpers/common.bash (_setup_vars), which auto-discovers RPC URLs,
bridge addresses, and private keys from the running kurtosis enclave.
All pinned commits and args live in .github/workflows/test.yml;
that is the single source of truth.
Always ask whether to rebuild agglayer:local before running.
Recommend rebuilding (docker build -t agglayer:local . from the repo root)
because skipping means the tests run against a stale image
that does not reflect the current code.
polycli version must match CI.
The reusable workflow agglayer/e2e/.github/workflows/agglayer-node-e2e.yml
pins POLYCLI_VERSION (e.g. v0.1.90) as an env var near the top.
Install the matching release binary rather than building from source,
because make install produces the latest dev build which may have
regressions (e.g. gas estimation changes that cause bridge tx reverts).
To install a specific version:
curl -sL "https://github.com/0xPolygon/polygon-cli/releases/download/${POLYCLI_VERSION}/polycli_${POLYCLI_VERSION}_linux_amd64.tar.gz" \
| tar xz -C ~/go/bin/ && mv ~/go/bin/polycli_* ~/go/bin/polycli
polycli lives at ~/go/bin/polycli and is not on the default PATH.
Export PATH="$PATH:$HOME/go/bin" before running bats or any polycli commands.
External repos are cached under /tmp/agglayer-e2e/.
Before cloning, check whether they already exist at the correct refs
(compare git -C <dir> rev-parse HEAD with the pinned SHA in
.github/workflows/test.yml).
Re-clone only if the ref has changed.
The kurtosis args file at /tmp/agglayer-e2e/kurtosis-args.json
should be checked/regenerated from test.yml each run
(ensure "agglayer_image": "agglayer:local" is present in args).
When e2e tests fail locally but pass in CI, check tool versions first.
Compare local versions of polycli, kurtosis, bats, and foundry/cast
against the versions CI installs (defined in agglayer-node-e2e.yml).
Version drift is a common root cause of otherwise-mysterious failures
(e.g. gas estimation regressions, changed CLI flags).
For step-by-step local setup, see docs/knowledge-base/e2e-tests.md.
E2E jobs only run on merge_group and workflow_dispatch events,
so they are skipped during normal PR CI.
To exercise them before the PR enters the merge queue,
trigger a workflow_dispatch run against the PR branch:
gh workflow run test.yml --repo agglayer/agglayer --ref <branch-name>
Monitor the run with:
gh run list --repo agglayer/agglayer --branch <branch-name> --workflow test.yml --limit 1
gh run view <run-id> --repo agglayer/agglayer --json jobs \
--jq '.jobs[] | "\(.name)\t\(.conclusion)"'
This run includes the full E2E suite (docker build + kurtosis + bats tests) and typically takes ~30 minutes.
Source: agglayer/agglayer — distributed by TomeVault.