Skip to content
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

add automation test configs #14455

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
b411a69
add automation test configs
anirudhwarrier Sep 17, 2024
6a79880
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
anirudhwarrier Sep 17, 2024
6733f5c
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
anirudhwarrier Sep 17, 2024
55f3597
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
anirudhwarrier Sep 17, 2024
ef97128
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
anirudhwarrier Sep 17, 2024
ec29d7b
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
anirudhwarrier Sep 17, 2024
f279c34
update grafana config
anirudhwarrier Sep 17, 2024
a2bcc37
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
lukaszcl Sep 18, 2024
afd3811
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
anirudhwarrier Sep 18, 2024
a2c1cd7
Merge branch 'TT-1550-automation' of github.com:smartcontractkit/chai…
anirudhwarrier Sep 18, 2024
c9b4197
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
lukaszcl Sep 18, 2024
dd5c3e0
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
anirudhwarrier Sep 18, 2024
ed8326b
update testid in workflow
anirudhwarrier Sep 18, 2024
6d2be65
update testid in e2e-tests
anirudhwarrier Sep 18, 2024
0f61b04
Merge branch 'TT-1550-Provide-PoC-for-keeping-test-configs-in-git' in…
lukaszcl Sep 18, 2024
151bcad
restructure configs
anirudhwarrier Sep 19, 2024
b9941fb
update config
anirudhwarrier Sep 19, 2024
db8d767
add testType input in benchmark workflow
anirudhwarrier Sep 19, 2024
937607c
add testType input in e2e reusable workflow
anirudhwarrier Sep 19, 2024
1c752f1
Revert "add testType input in e2e reusable workflow"
anirudhwarrier Sep 19, 2024
48fb353
update benchmark workflow
anirudhwarrier Sep 19, 2024
f3abbb8
update test log level for load and benchmark
anirudhwarrier Sep 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion .github/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,7 @@ runner-test-matrix:
remote_runner_memory: 4Gi
test_secrets_required: true
test_env_vars:
TEST_LOG_LEVEL: info
TEST_SUITE: automationv2_1
pyroscope_env: automation-load-test

Expand Down Expand Up @@ -591,7 +592,7 @@ runner-test-matrix:
test_env_vars:
TEST_SUITE: chaos

- id: benchmark/automation_test.go:^TestAutomationBenchmark$
- id: benchmark/automation_test.go:TestAutomationBenchmark
path: integration-tests/benchmark/automation_test.go
test_env_type: k8s-remote-runner
remote_runner_memory: 4Gi
Expand All @@ -601,9 +602,24 @@ runner-test-matrix:
test_cmd: cd integration-tests/benchmark && go test -v -test.run ^TestAutomationBenchmark$ -test.parallel=1 -timeout 30m -count=1 -json
pyroscope_env: ci-benchmark-automation-nightly
test_env_vars:
TEST_LOG_LEVEL: info
TEST_SUITE: benchmark
TEST_TYPE: benchmark

- id: soak/automation_test.go:TestAutomationBenchmark
path: integration-tests/benchmark/automation_test.go
test_env_type: k8s-remote-runner
remote_runner_memory: 4Gi
runs_on: ubuntu-latest
# workflows:
# - Nightly E2E Tests
test_cmd: cd integration-tests/benchmark && go test -v -test.run ^TestAutomationBenchmark$ -test.parallel=1 -timeout 30m -count=1 -json
pyroscope_env: ci-benchmark-automation-nightly
test_env_vars:
TEST_LOG_LEVEL: info
TEST_SUITE: benchmark
TEST_TYPE: soak

# END: Automation tests

# START: VRF tests
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/automation-benchmark-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,19 @@ on:
description: Notifies test results (Not your @)
required: true
default: U02Q14G80TY
type: string
type: string
testType:
description: Type of test to run (benchmark, soak)
required: true
default: benchmark
type: string

jobs:
run-e2e-tests-workflow:
name: Run E2E Tests
uses: ./.github/workflows/run-e2e-tests-reusable-workflow.yml
with:
test_ids: 'benchmark/keeper_test.go:TestAutomationBenchmark'
test_ids: '${{ inputs.testType }}/automation_test.go:TestAutomationBenchmark'
test_config_override_path: ${{ inputs.test_config_override_path }}
SLACK_USER: ${{ inputs.slackMemberID }}
SLACK_CHANNEL: C03KJ5S7KEK
Expand Down
13 changes: 13 additions & 0 deletions integration-tests/testconfig/automation/automation.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
[Common]
chainlink_node_funding = 2.0

[Pyroscope]
enabled=false

[NodeConfig]
BaseConfigTOML = """
[Feature]
Expand Down Expand Up @@ -207,6 +210,10 @@ max_perform_data_size=5_000
max_revert_data_size=5_000

# load test specific overrides
[Load.Logging.Grafana]
base_url="https://grafana.ops.prod.cldev.sh"
dashboard_url="/d/a4899f53-f709-430a-aec2-24f32198dcc9/chainlink-automation-v2-load-test"

[Load.Seth]
ephemeral_addresses_number = 100
root_key_funds_buffer = 1_000_000
Expand Down Expand Up @@ -301,6 +308,9 @@ max_revert_data_size=5_000
enabled=false

# automation benchmark test specific overrides
[Benchmark.Logging.Grafana]
base_url="https://grafana.ops.prod.cldev.sh"
dashboard_url="/d/Q8n6m1unz/chainlink-automation-benchmark-test"

# will retry roughly for 1h before giving up (900 * 4s)
[Benchmark.Automation.Resiliency]
Expand Down Expand Up @@ -420,6 +430,9 @@ max_perform_data_size=5_000
max_revert_data_size=5_000

# automation soak test specific overrides
[Soak.Logging.Grafana]
base_url="https://grafana.ops.prod.cldev.sh"
dashboard_url="/d/Q8n6m1unz/chainlink-automation-benchmark-test"

# will retry roughly for 1h before giving up (900 * 4s)
[Soak.Automation.Resiliency]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[ChainlinkImage]
version="latest"

[Benchmark.Automation.Benchmark]
registry_to_test = "2_1"
number_of_registries = 1
number_of_nodes = 6
number_of_upkeeps = 1000
upkeep_gas_limit = 1500000
check_gas_to_burn = 10000
perform_gas_to_burn = 1000
block_range = 3600
block_interval = 60
forces_single_tx_key = false
delete_jobs_on_end = true
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[ChainlinkImage]
version="latest"

[Benchmark.Automation.Benchmark]
registry_to_test = "2_3"
number_of_registries = 1
number_of_nodes = 6
number_of_upkeeps = 1000
upkeep_gas_limit = 1500000
check_gas_to_burn = 10000
perform_gas_to_burn = 1000
block_range = 3600
block_interval = 60
forces_single_tx_key = false
delete_jobs_on_end = true
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
[ChainlinkImage]
version="latest"

[Load.Seth]
root_key_funds_buffer = 1_000_000
ephemeral_addresses_number = 300

[Load.Seth.nonce_manager]
key_sync_timeout = "100s"

[Load.Common]
chainlink_node_funding = 1000

[Load.Automation.AutomationConfig]
use_log_buffer_v1=false

[Load.Automation.AutomationConfig.PluginConfig.LogProviderConfig]
block_rate=1
log_limit=2

[Load.Automation]
[Load.Automation.General]
number_of_nodes=6
duration=3600
block_time=1
spec_type="recommended"
chainlink_node_log_level="debug"
use_prometheus=true
remove_namespace = true

[Load.Automation.DataStreams]
enabled=false

[[Load.Automation.Load]]
number_of_upkeeps=500
number_of_events = 1
number_of_spam_matching_events = 0
number_of_spam_non_matching_events = 0
check_burn_amount = 0
perform_burn_amount = 0
upkeep_gas_limit = 1000000
shared_trigger = false
is_streams_lookup = false
feeds = []

[Pyroscope]
enabled=false
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[ChainlinkImage]
version="latest"

[Load.Seth]
root_key_funds_buffer = 1_000_000

[Load.Common]
chainlink_node_funding = 10000

[Load.Automation.AutomationConfig]
use_log_buffer_v1=false

[Load.Automation.AutomationConfig.PluginConfig.LogProviderConfig]
block_rate=1
log_limit=2

[Load.Automation]
[Load.Automation.General]
number_of_nodes=6
duration=43200
block_time=1
spec_type="recommended"
chainlink_node_log_level="debug"
use_prometheus=true
remove_namespace = true

[Load.Automation.DataStreams]
enabled=false

[[Load.Automation.Load]]
number_of_upkeeps=50
number_of_events = 1
number_of_spam_matching_events = 0
number_of_spam_non_matching_events = 0
check_burn_amount = 0
perform_burn_amount = 0
upkeep_gas_limit = 1000000
shared_trigger = false
is_streams_lookup = false
feeds = []

[Pyroscope]
enabled=false
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[ChainlinkImage]
version="latest"

[Load.Seth]
root_key_funds_buffer = 1_000_000

[Load.Common]
chainlink_node_funding = 1000

[Load.Automation.AutomationConfig]
use_log_buffer_v1=false

[Load.Automation.AutomationConfig.PluginConfig.LogProviderConfig]
block_rate=1
log_limit=2

[Load.Automation]
[Load.Automation.General]
number_of_nodes=6
duration=3600
block_time=1
spec_type="recommended"
chainlink_node_log_level="debug"
use_prometheus=true
remove_namespace = true

[Load.Automation.DataStreams]
enabled=false

[[Load.Automation.Load]]
number_of_upkeeps=50
number_of_events = 1
number_of_spam_matching_events = 0
number_of_spam_non_matching_events = 0
check_burn_amount = 0
perform_burn_amount = 0
upkeep_gas_limit = 1000000
shared_trigger = false
is_streams_lookup = false
feeds = []

[Pyroscope]
enabled=false
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[ChainlinkImage]
version="latest"

[Soak.Automation.Benchmark]
registry_to_test = "2_1"
number_of_registries = 1
number_of_nodes = 6
number_of_upkeeps = 50
upkeep_gas_limit = 1500000
check_gas_to_burn = 10000
perform_gas_to_burn = 1000
block_range = 28800
block_interval = 300
forces_single_tx_key = false
delete_jobs_on_end = true
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[ChainlinkImage]
version="latest"

[Soak.Automation.Benchmark]
registry_to_test = "2_3"
number_of_registries = 1
number_of_nodes = 6
number_of_upkeeps = 50
upkeep_gas_limit = 1500000
check_gas_to_burn = 10000
perform_gas_to_burn = 1000
block_range = 28800
block_interval = 300
forces_single_tx_key = false
delete_jobs_on_end = true
2 changes: 1 addition & 1 deletion integration-tests/testconfig/keeper/keeper.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ HTTPSPort = 0

[Keeper]
TurnLookBack = 0
"""
"""
Loading