Skip to content

Commit

Permalink
ci: add nightly performance testing, update localnet Docker image to …
Browse files Browse the repository at this point in the history
…Debian Bookworm, remove unnecessary build-jet runners. (#2285)

* ci: adding nightly performance testing, removed buildjet where not-needed, and changed localnet docker image to use debian-bookworm
* changed ubuntu-latest to ubunt-22.04, updated go releaser version to the last published 1.20 version
* update orchestrator to bookworm
  • Loading branch information
gzukel authored May 30, 2024
1 parent 14c1744 commit 6423a33
Show file tree
Hide file tree
Showing 17 changed files with 368 additions and 480 deletions.
303 changes: 303 additions & 0 deletions .github/actions/performance-tests/art.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,303 @@
# artillery run art.yaml --output results.json
# artillery report results.json --output artillery_report.html
config:
target: "http://127.0.0.1:8545"
phases:
- duration: 60
arrivalRate: 10
defaults:
headers:
content-type: "application/json"
http:
timeout: 60
plugins:
metrics-by-endpoint:
useOnlyRequestNames: true
summary: true
reports:
- type: "html"
filename: "artillery_report.html"

scenarios:
- name: web3_clientVersion
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "web3_clientVersion"
params: []

- name: web3_sha3
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "web3_sha3"
params:
- "0x68656c6c6f20776f726c64"

- name: net_version
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "net_version"
params: []

- name: net_listening
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "net_listening"
params: []

- name: net_peerCount
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "net_peerCount"
params: []

- name: eth_chainId
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_chainId"
params: []

- name: eth_getStorageAt
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getStorageAt"
params:
- "latest"

- name: eth_getTransactionByBlockHashAndIndex
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getTransactionByBlockHashAndIndex"
params:
- "0x0"

- name: eth_getTransactionByBlockNumberAndIndex
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getTransactionByBlockNumberAndIndex"
params:
- "latest"
- "0x0"

- name: eth_getUncleByBlockHashAndIndex
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getUncleByBlockHashAndIndex"
params:
- "0x0"

- name: eth_getUncleByBlockNumberAndIndex
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getUncleByBlockNumberAndIndex"
params:
- "latest"
- "0x0"

- name: eth_newFilter
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_newFilter"
params:
- {
fromBlock: "latest",
toBlock: "latest",
address: "0x0",
topics: []
}

- name: eth_getFilterChanges
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getFilterChanges"
params:
- "0x0"

- name: eth_getFilterLogs
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getFilterLogs"
params:
- "0x0"

- name: eth_blockNumber
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_blockNumber"
params: []

- name: eth_getBlockByHash
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getBlockByHash"
params:
- "0x0"
- true

- name: eth_getBlockByNumber
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getBlockByNumber"
params:
- "latest"
- true

- name: eth_getBlockTransactionCountByHash
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getBlockTransactionCountByHash"
params:
- "0x0"

- name: eth_getBlockTransactionCountByNumber
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getBlockTransactionCountByNumber"
params:
- "latest"

- name: eth_getCode
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getCode"
params:
- "0x0"
- "latest"

- name: eth_getTransactionByHash
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getTransactionByHash"
params:
- "0x0"

- name: eth_getTransactionReceipt
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getTransactionReceipt"
params:
- "0x0"

- name: eth_getLogs
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getLogs"
params:
- fromBlock: "0x1"
toBlock: "latest"
address: "0x0"
topics: ["0x0"]

- name: eth_getBalance
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_getBalance"
params:
- "0x0"
- "latest"

- name: eth_estimateGas
flow:
- post:
url: "/"
json:
id: 1
jsonrpc: "2.0"
method: "eth_estimateGas"
params:
- from: "0x0"
2 changes: 1 addition & 1 deletion .github/workflows/change-log-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
check-changelog:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/ci-nightly-performance-testing.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: "NIGHTLY:EVM:PERFORMANCE:TESTING"

on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *' # Runs every day at midnight UTC

jobs:
nightly_evm_api_performance_test:
name: "NIGHTLY:EVM:API:PERFORMANCE:TEST"
runs-on: "buildjet-16vcpu-ubuntu-2204"
steps:
- uses: actions/checkout@v4

- name: "START:LOCAL:NET"
run: |
make start-e2e-test
- name: "EXECUTE:LOADTESTS"
uses: artilleryio/action-cli@v1
with:
command: run .github/actions/performance-tests/art.yaml --output ./report.json

- name: "GENERATE:REPORT"
uses: artilleryio/action-cli@v1
with:
command: report report.json --output artillery_report.html

- name: "UPLOAD:REPORT"
uses: actions/upload-artifact@v3
if: success()
with:
name: artillery-report
path: ./artillery_report.html
2 changes: 1 addition & 1 deletion .github/workflows/docker-build-and-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ env:

jobs:
docker_build_ubuntu:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generate-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ jobs:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/labeler@v4
Loading

0 comments on commit 6423a33

Please sign in to comment.