Add SLBIT v2 luminous explorer (#50) #108
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: powerhouse-ci | |
| on: | |
| push: | |
| branches: ["main", "master"] | |
| pull_request: | |
| branches: ["main", "master"] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy,rustfmt | |
| - name: Terraform toolchain | |
| uses: hashicorp/setup-terraform@v4 | |
| - name: Cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Format | |
| run: cargo fmt --check | |
| - name: Release version and naming consistency | |
| run: python3 scripts/check_release_consistency.py | |
| - name: Operational configuration | |
| run: | | |
| bash -n \ | |
| scripts/deploy_rpc_cluster.sh \ | |
| scripts/deploy_monitoring_stack.sh \ | |
| scripts/install_reliability_campaign.sh \ | |
| scripts/provision_digitalocean_rpc.sh \ | |
| infra/ops/alert.sh | |
| python3 -m py_compile \ | |
| scripts/check_release_consistency.py \ | |
| scripts/check_rustdoc_links.py \ | |
| scripts/rpc_load_test.py \ | |
| scripts/test_reliability_campaign.py \ | |
| scripts/test_observatory_contract.py \ | |
| scripts/test_observer_intake.py \ | |
| scripts/test_observer_registry.py \ | |
| scripts/test_status_registry.py \ | |
| scripts/test_validator_registry.py \ | |
| infra/ops/healthcheck.py \ | |
| infra/monitoring/alert_receiver.py \ | |
| infra/monitoring/observer_intake.py \ | |
| infra/monitoring/observer_registry.py \ | |
| infra/monitoring/reliability_campaign.py \ | |
| infra/monitoring/status_api.py \ | |
| infra/monitoring/validator_registry.py | |
| jq empty configs/network.json contrib/grafana/mfenx_powerhouse_dashboard.json | |
| terraform -chdir=infra/terraform/digitalocean fmt -check | |
| terraform -chdir=infra/terraform/digitalocean init -backend=false | |
| terraform -chdir=infra/terraform/digitalocean validate | |
| - name: Clippy | |
| run: cargo clippy --all-targets --all-features -- -D warnings | |
| - name: Documentation | |
| env: | |
| RUSTDOCFLAGS: -D warnings | |
| run: | | |
| cargo doc --all-features --no-deps | |
| python3 scripts/check_rustdoc_links.py | |
| - name: Test default targets | |
| run: cargo test --all-targets --locked | |
| - name: Test network targets | |
| run: cargo test --all-targets --features net --locked | |
| - name: CLI contract tests | |
| run: bash scripts/test_cli.sh | |
| - name: RPC cluster bundle tests | |
| run: python3 scripts/test_generate_rpc_cluster.py | |
| - name: Signed validator registry | |
| run: | | |
| python3 scripts/test_validator_registry.py | |
| python3 scripts/test_observer_registry.py | |
| python3 scripts/test_status_registry.py | |
| python3 scripts/test_observer_intake.py | |
| python3 scripts/test_reliability_campaign.py | |
| - name: DigitalOcean provisioning contract | |
| run: scripts/test_digitalocean_provision.sh | |
| - name: RPC publication-gate tests | |
| run: python3 scripts/test_rpc_check.py | |
| - name: Native RPC replica finality | |
| run: scripts/test_native_rpc_cluster.sh | |
| - name: Reproduce sparse conformance vectors | |
| run: | | |
| cargo run --example conformance_vectors | |
| git diff --exit-code -- conformance/v1 | |
| - name: Reproduce PHA and Rootprint conformance vectors | |
| run: | | |
| cargo run --example pha_conformance_vectors | |
| git diff --exit-code -- \ | |
| conformance/pha-v1 \ | |
| publicpower/artifacts/rootprint-valid.json | |
| - name: Reproduce identity conformance vectors | |
| run: | | |
| cargo run --example identity_conformance_vectors | |
| git diff --exit-code -- conformance/identity-v1 | |
| - name: Reproduce slbit Observatory conformance vectors | |
| run: | | |
| cargo run --example slbit_conformance_vectors | |
| git diff --exit-code -- \ | |
| conformance/slbit-v1 \ | |
| publicpower/artifacts/luminous-valid.json | |
| - name: Cross-language PHA and Rootprint verification | |
| run: PYTHONPATH=sdk/python python3 -m unittest discover -s sdk/python/tests -v | |
| - name: Large-domain examples | |
| run: | | |
| cargo run --release --example sextillion_verify | |
| cargo run --release --example hyperscale_affine | |
| cargo run --release --example sparse_record | |
| cargo run --release --example committed_workload | |
| - name: Cross-language sparse verification | |
| run: | | |
| python3 scripts/verify_sparse_certificate.py target/power_house_sparse_record.phsp | |
| python3 scripts/verify_sparse_certificate.py \ | |
| target/external_interaction_model.phcp \ | |
| --polynomial target/external_interaction_model.phsm | |
| - name: Sparse verifier conformance and mutation tests | |
| run: python3 scripts/test_sparse_verifier.py | |
| - name: Browser artifact stream regression | |
| run: | | |
| node --check publicpower/app.js | |
| node --check publicpower/campaign.js | |
| node scripts/test_observatory_stream.mjs | |
| python3 scripts/test_observatory_contract.py | |
| - name: Soundness budget checks | |
| run: | | |
| python3 scripts/soundness_budget.py | |
| python3 scripts/soundness_budget.py \ | |
| --field 18446744073709551557 \ | |
| --repetitions 3 |