prover build debug #6
This file contains 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: REGRESSION TESTER - SUPERUSERS | |
on: | |
push: | |
# workflow_dispatch: | |
# inputs: | |
# zkevm_agglayer_commit_id: | |
# description: '0xPolygon/agglayer (commit id)' | |
# required: true | |
# zkevm_bridge_service_commit_id: | |
# description: '0xPolygonHermez/zkevm-bridge-service (commit id)' | |
# required: true | |
# zkevm_bridge_ui_commit_id: | |
# description: '0xPolygonHermez/zkevm-bridge-ui (commit id)' | |
# required: true | |
# zkevm_dac_commit_id: | |
# description: '0xPolygon/cdk-data-availability (commit id)' | |
# required: true | |
# zkevm_node_commit_id: | |
# description: '0xPolygon/cdk-validium-node (commit id)' | |
# required: true | |
# zkevm_prover_commit_id: | |
# description: '0xPolygonHermez/zkevm-prover (commit id)' | |
# required: true | |
# bake_time: | |
# description: 'bake time (minutes)' | |
# required: true | |
jobs: | |
deploy_devnet: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.event.before }} | |
- name: Set up Docker | |
uses: docker/setup-buildx-action@v1 | |
- name: Clone internal kurtosis-cdk repo | |
run: | | |
git clone https://github.com/0xPolygon/kurtosis-cdk.git | |
cd kurtosis-cdk | |
git checkout dan/jit_containers_superusers | |
# - name: Clone and build agglayer | |
# run: | | |
# git clone https://github.com/0xPolygon/agglayer.git | |
# cd agglayer | |
# git checkout "${{ github.event.inputs.zkevm_agglayer_commit_id }}" | |
# docker compose -f docker/docker-compose.yaml build --no-cache agglayer | |
# sleep 10 | |
# | |
# - name: Clone and build zkevm-bridge-service | |
# run: | | |
# git clone https://github.com/0xPolygonHermez/zkevm-bridge-service.git | |
# cd zkevm-bridge-service | |
# git checkout "${{ github.event.inputs.zkevm_bridge_service_commit_id }}" | |
# docker build -t zkevm-bridge-service:local -f ./Dockerfile . | |
# sleep 10 | |
# | |
# - name: Clone and build zkevm-bridge-ui | |
# run: | | |
# git clone https://github.com/0xPolygonHermez/zkevm-bridge-ui.git | |
# cd zkevm-bridge-ui | |
# git checkout "${{ github.event.inputs.zkevm_bridge_ui_commit_id }}" | |
# docker build -t zkevm-bridge-ui:local -f ./Dockerfile . | |
# sleep 10 | |
# | |
# - name: Clone and build cdk-data-availability | |
# run: | | |
# git clone https://github.com/0xPolygon/cdk-data-availability.git | |
# cd cdk-data-availability | |
# git checkout "${{ github.event.inputs.zkevm_dac_commit_id }}" | |
# docker build -t cdk-data-availability:local -f ./Dockerfile . | |
# sleep 10 | |
# | |
# - name: Clone and build cdk-validium-node | |
# run: | | |
# git clone https://github.com/0xPolygon/cdk-validium-node.git | |
# cd cdk-validium-node | |
# git checkout "${{ github.event.inputs.zkevm_node_commit_id }}" | |
# docker build -t cdk-validium-node:local -f ./Dockerfile . | |
# sleep 10 | |
- name: Clone and build zkevm-prover | |
run: | | |
git clone --recursive https://github.com/0xPolygonHermez/zkevm-prover.git | |
cd zkevm-prover | |
# git checkout "${{ github.event.inputs.zkevm_prover_commit_id }}" | |
git checkout d37e826 | |
# install archive deps | |
./tools/download_archive.sh | |
# install pkg deps | |
apt update | |
apt install build-essential libbenchmark-dev libomp-dev libgmp-dev nlohmann-json3-dev postgresql libpqxx-dev libpqxx-doc nasm libsecp256k1-dev grpc-proto libsodium-dev libprotobuf-dev libssl-dev cmake libgrpc++-dev protobuf-compiler protobuf-compiler-grpc uuid-dev | |
cd src/grpc | |
make | |
cd ../.. | |
docker build -t zkevm-prover:local -f ./Dockerfile . | |
sleep 10 | |
- name: Install kurtosis | |
run: | | |
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list | |
sudo apt update | |
sudo apt install kurtosis-cli | |
- name: Run kurtosis agent in background | |
run: | | |
kurtosis gateway & # Run cmd in background | |
sleep 10 | |
- name: Deploy CDK devnet on local github runner | |
run: | | |
cd kurtosis-cdk | |
kurtosis engine restart | |
kurtosis run --enclave cdk-v1 --args-file params.yml . | |
- name: Auto-apply load and report any regressions here | |
run: | | |
MONITOR_ID="140974014" # K8S DEVNET: COMPOSITE MONITOR ID | |
DATADOG_API_KEY="${{ secrets.DATADOG_API_KEY }}" | |
DATADOG_APP_KEY="${{ secrets.DATADOG_APP_KEY }}" | |
bake_time="${{ github.event.inputs.bake_time }}" | |
end_minute=$(( $(date +'%M') + bake_time)) | |
while [ $(date +'%M') -lt $end_minute ]; do | |
STATUS=$(curl -X GET "https://api.datadoghq.com/api/v1/monitor/${MONITOR_ID}" \ | |
-H "Content-Type: application/json" \ | |
-H "DD-API-KEY: ${DATADOG_API_KEY}" \ | |
-H "DD-APPLICATION-KEY: ${DATADOG_APP_KEY}" \ | |
-s \ | |
| jq -r '.overall_state') | |
echo "K8S DEVNET HEALTH STATUS: $STATUS" | |
echo "Review your devnet health dashboard here: https://app.datadoghq.com/dashboard/fqu-nh2-bzd?fromUser=false&refresh_mode=sliding&view=spans&from_ts=1709886652761&to_ts=1709890252761&live=true" | |
sleep 60 | |
done | |
- name: Finally, remove all devnet resources locally | |
run: | | |
cd kurtosis-cdk | |
kurtosis clean -a |