Nightly Performance Tests #83
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Nightly Performance Tests | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
defaults: | |
run: | |
working-directory: build/devenv | |
jobs: | |
nightly-performance: | |
permissions: | |
id-token: write | |
contents: read | |
runs-on: runs-on=${{ github.run_id }}-${{ strategy.job-index }}/family=c6i/cpu=32+48/ram=64+96/spot=false/image=ubuntu24-full-x64/extras=s3-cache+tmpfs | |
strategy: | |
matrix: | |
test: [ | |
{ name: "TestE2ELoad/clean", config: "env.toml" }, | |
{ name: "TestE2ELoad/rpc_latency", config: "env.toml" }, | |
{ name: "TestE2ELoad/gas", config: "env.toml" }, | |
{ name: "TestE2ELoad/reorgs", config: "env.toml,env-geth.toml" }, | |
{ name: "TestE2ELoad/services_chaos", config: "env.toml" }, | |
] | |
fail-fast: false | |
steps: | |
- name: Enable S3 Cache for Self-Hosted Runners | |
# these env vars are set (and exposed) when it is a self-hosted runner with extras=s3-cache | |
if: ${{ env.RUNS_ON_INSTANCE_ID != '' && env.ACTIONS_CACHE_URL != '' }} | |
uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 | |
- name: Checkout code | |
uses: actions/checkout@v5 | |
with: | |
fetch-depth: 0 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 | |
- name: Install Just | |
uses: extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3 | |
with: | |
just-version: '1.40.0' | |
- name: Authenticate to AWS ECR | |
uses: ./.github/actions/aws-ecr-auth | |
with: | |
role-to-assume: ${{ secrets.CCV_IAM_ROLE }} | |
aws-region: us-east-1 | |
registry-type: public | |
- name: Set up Go | |
uses: actions/setup-go@v6 # v6 | |
with: | |
cache: true | |
go-version-file: build/devenv/go.mod | |
cache-dependency-path: | | |
build/devenv/go.sum | |
- name: Download Go dependencies | |
run: | | |
go mod download | |
- name: Build Docker Images | |
run: just build-docker-dev-ci | |
env: | |
DOCKER_BUILDKIT: 1 | |
- name: Run Observability Stack | |
run: | | |
cd cmd/ccv && go install . && cd - | |
ccv obs u -f | |
- name: Run CCV environment with config | |
run: | | |
ccv u ${{ matrix.test.config }} | |
- name: Run perf test | |
working-directory: build/devenv/tests/e2e | |
env: | |
LOKI_URL: http://localhost:3030/loki/api/v1/push | |
run: | | |
go test -v -run ${{ matrix.test.name }} -timeout 1h |