Repository navigation
P3: remove debug env, cleanups, static non-root image, CI hardening - #61
Merged
Merged
Conversation
…vour of zerolog Drop isDebugEnabled() and the log.Printf branches in RecordSubmissionAttempt and RecordSubmissionDaHeight; the verifier already logs these events through zerolog. Document --verbose as the single way to get debug output. Fixes #50 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- metrics: collapse the header/data branches of RecordSubmissionDaHeight into a per-type map of the highest recorded DA height - evnode: delete unused GetState and GetGenesisDaHeight - evm: measure the health check RTT after the body is read and fail on a JSON-RPC error object; categorize it as rpc_error; add client tests - README: submission attempts/failures are counted per blob type per verification round, not per RPC attempt Fixes #51 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ulncheck, Node 24 actions - Dockerfile: CGO-free static build cross-compiled on the build platform, distroless static nonroot runtime pinned by digest, numeric USER - add .dockerignore - make test runs with -race - pin golangci-lint v2.15.0 (golangci-lint-action v9) - move actions to Node 24 majors; drop QEMU (no arm64 binaries are run) - add govulncheck workflow allowing only GO-2026-5932 Fixes #52 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
auricom
force-pushed
the
recur/caramel-omelet
branch
from
October 20, 2026 12:26
ee15ba2 to
ebeb4fa
Compare
20 tasks done
…d minimum The job installed Go 1.26.0 from go.mod, whose standard library has about 20 vulnerabilities fixed in later 1.26.x patches, so the filter always failed. A local run missed this because GOTOOLCHAIN=auto silently switched to a newer toolchain. Refs #52 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the P3 issues from the optimization roadmap (#53).
Changes
Remove
EVMETRICS_DEBUGand stdliblog.Printffrompkg/metrics(#50)isDebugEnabled()and everylog.Printf("DEBUG: ...")branch inRecordSubmissionAttemptandRecordSubmissionDaHeight. What those methods record in Prometheus is unchanged.Metricsdid not need a logger.--verboseis now the only way to get debug output. The README "Debug Logging" section says so.Small cleanups (#51)
RecordSubmissionDaHeight: the duplicated header and data branches are now one code path using a per-typemap[string]uint64. Behaviour is unchanged: onlyheaderanddataare accepted, and only a strictly higher height updates the gauge.GetStateandGetGenesisDaHeightfrom the evnode client.HealthCheckRequestnow measures the duration after the response body is read, as its comment says it should. It also decodes the body and returns an error for a JSON-RPCerrorobject (categorised asrpc_error).submission_attempts_totalandsubmission_failures_totalare counted once per blob type per verification round, not once per RPC attempt.Docker and CI hardening (#52)
CGO_ENABLED=0,-trimpath,-ldflags="-s -w".gcc,musl-devand-a -installsuffix cgoare gone.$BUILDPLATFORMand cross-compiles withGOOS/GOARCH=$TARGET*, so the arm64 image is no longer built under QEMU emulation.gcr.io/distroless/static:nonroot, pinned by digest, running as65532:65532. It includes CA certificates..dockerignore.make testnow runs with-race.latest) viagolangci-lint-action@v9.checkoutv7,setup-gov7, and in the Docker workflowsetup-buildxv4,loginv4,metadatav6 andbuild-pushv7. I checked that each tag exists and declaresnode24in itsaction.yml.setup-qemu-actionis removed, since the build no longer runs any arm64 binaries.govulncheckworkflow (on push to main, on pull requests, and weekly). It fails on any reachable vulnerability except GO-2026-5932 in x/crypto, which has no upstream fix yet. The allowed ID sits in oneALLOWED_VULNenv var, with a comment to delete it once a fix ships.Behaviour changes to watch for
EVMETRICS_DEBUGno longer does anything. Use--verbose.Verification
make test(with-race),go vet, golangci-lint (0 issues),gofmtandgo mod tidyare clean. The static build (CGO_ENABLED=0) works,lddreports a static binary, andmonitor --helplists the new flags.v1.79.2).build-and-pushcheck on this PR is the first real test of those, along with the newgovulncheckworkflow and the lint action v9 with v2.15.0.Fixes #50
Fixes #51
Fixes #52
🤖 Generated with Claude Code