ethpandaops/Syncoor Test
Run Ethereum client synchronization tests using syncoor
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit May 19, 2026
- License
- GPL 3.0
Pinned Snippet
uses: ethpandaops/syncoor@44d647f59e845115195548b73f77b37314daa506 # v0.2.5tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| github-token | GitHub token for API access | yes | — |
| image | Docker image for syncoor (e.g., ghcr.io/ethpandaops/syncoor:master). If not provided, will build locally. | no | "" |
| git-ref | Git branch or commit hash to build from. Only used when image is not provided. If neither image nor git-ref are provided, builds from current directory or master. | no | "" |
| repository | Git repository URL to clone from when using git-ref | no | https://github.com/ethpandaops/syncoor.git |
| run-tests | Run tests. Useful for generating report index only. There you can set it to false and run the action again to generate the index. | no | true |
| ethereum-package | Ethereum package repository and version (e.g., github.com/ethpandaops/ethereum-package@main) | no | github.com/ethpandaops/ethereum-package@main |
| check-interval | Interval in seconds between sync status checks | no | 10s |
| run-timeout | Timeout for sync operation - will cancel sync and generate report marked as "timeout" if exceeded (exits with code 124, treated as success in CI) | no | 60m |
| client-logs | Output EL and CL client logs to stdout | no | false |
| el-client | Execution layer client type (geth, besu, nethermind, erigon, reth) | no | geth |
| cl-client | Consensus layer client type (lighthouse, teku, prysm, nimbus, lodestar, grandine) | no | teku |
| el-image | Execution layer client image (optional) | no | "" |
| cl-image | Consensus layer client image (optional) | no | "" |
| el-extra-args | Extra arguments for execution layer client (array of strings). Example: ["--some-arg", "--another-arg"] | no | [] |
| cl-extra-args | Extra arguments for consensus layer client (array of strings). Example: ["--some-arg", "--another-arg"] | no | [] |
| el-env-vars | Environment variables for execution layer client (array of strings). Example: ["KEY1=value1", "KEY2=value2"] | no | [] |
| cl-env-vars | Environment variables for consensus layer client (array of strings). Example: ["KEY1=value1", "KEY2=value2"] | no | [] |
| network | Network to connect to (e.g., hoodi, sepolia, mainnet) | no | hoodi |
| enclave | Enclave name (optional - defaults to "sync-test" | no | sync-test |
| log-level | Log level (panic, fatal, error, warn, info, debug, trace) | no | info |
| log-force-colors | Force colored output in logs | no | false |
| labels | Comma-separated labels in key=value format (e.g., "test=sync,env=ci") | no | "" |
| server | Centralized server URL (e.g., https://api.syncoor.example) | no | "" |
| server-auth | Bearer token for server authentication | no | "" |
| metrics-exporter-image | Docker image for metrics exporter (e.g., ethpandaops/ethereum-metrics-exporter:debian-latest) | no | ethpandaops/ethereum-metrics-exporter:debian-latest |
| metrics-exporter-port | Port for metrics exporter | no | 9090 |
| metrics-exporter-log-level | Log level for metrics exporter (panic, fatal, error, warn, info, debug, trace) | no | info |
| supernode | Enable supernode (should only be used with peerdas) | no | false |
| checkpoint-sync-enabled | Enable checkpoint sync across the network | no | true |
| checkpoint-sync-url | Checkpoint sync URL (e.g., https://checkpoint-sync.sepolia.ethpandaops.io/) | no | "" |
| public | Enable public port publishing | no | false |
| public-port-el | Public port for execution layer client | no | 40000 |
| public-port-cl | Public port for consensus layer client | no | 41000 |
| public-ip | Public IP for port publishing (default: auto) | no | auto |
| log-level-el | Log level for execution layer client (trace, debug, info, warn, error) | no | info |
| log-level-cl | Log level for consensus layer client (trace, debug, info, warn, error) | no | info |
| upload-artifacts | Whether to upload test reports as artifacts | no | true |
| artifact-retention-days-test-report | Number of days to retain test report artifacts | no | 30 |
| artifact-retention-days-enclave-dump | Number of days to retain enclave dump artifacts | no | 7 |
| s3-upload | Upload test results to S3 | no | false |
| s3-bucket | S3 bucket name | no | — |
| s3-path | Path prefix in S3 bucket | no | "" |
| s3-index-generate | Generate index.json file in S3 bucket after test run | no | false |
| rclone-config | Rclone config file | no | "" |
| rclone-version | Rclone version to use | no | latest |
| kurtosis-version | Kurtosis CLI version to use | no | 1.18.1 |
Outputs
| name | description |
|---|---|
| report-path | Path to the generated report |
| main-report-file | Name of the main report JSON file (without .json extension) |