Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use common labelers instead of local ones #14867

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

vyzaldysanchez
Copy link
Contributor

Requires

Resolves

@vyzaldysanchez vyzaldysanchez requested a review from a team as a code owner October 21, 2024 17:24
Copy link
Contributor

github-actions bot commented Oct 21, 2024

AER Report: CI Core

aer_workflow , commit , Detect Changes , Clean Go Tidy & Generate , Core Tests (go_core_tests) , lint , Core Tests (go_core_ccip_deployment_tests) , Core Tests (go_core_race_tests) , Core Tests (go_core_fuzz) , SonarQube Scan

1. Descriptor registration conflict: go_core_race_tests

Source of Error:
Setup DB	2024-10-21T19:20:28.0882390Z panic: a previously registered descriptor with the same fully-qualified name as Desc{fqName: "head_tracker_current_head", help: "Tracks the current block height that the monitoring instance has processed.", constLabels: {}, variableLabels: {network_name,chain_id,network_id}} has different label names or a different help string
Setup DB	2024-10-21T19:20:28.0885384Z 
Setup DB	2024-10-21T19:20:28.0885716Z goroutine 1 [running]:
Setup DB	2024-10-21T19:20:28.0887261Z github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0x811c360, {0xc001111480?, 0x0?, 0x0?})
Setup DB	2024-10-21T19:20:28.0890277Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/registry.go:406 +0x66
Setup DB	2024-10-21T19:20:28.0893077Z github.com/prometheus/client_golang/prometheus/promauto.Factory.NewGaugeVec({{0x59ed230?, 0x811c360?}}, {{0x0, 0x0}, {0x0, 0x0}, {0x4b3d9b6, 0x19}, {0x4c180de, 0x4b}, ...}, ...)
Setup DB	2024-10-21T19:20:28.0895839Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:308 +0x163
Setup DB	2024-10-21T19:20:28.0897679Z github.com/prometheus/client_golang/prometheus/promauto.NewGaugeVec(...)
Setup DB	2024-10-21T19:20:28.0899434Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:198
Setup DB	2024-10-21T19:20:28.0901514Z github.com/smartcontractkit/chainlink-common/pkg/monitoring.init()
Setup DB	2024-10-21T19:20:28.0903843Z 	/home/runner/go/pkg/mod/github.com/smartcontractkit/[email protected]/pkg/monitoring/metrics.go:40 +0x115
Setup DB	2024-10-21T19:20:28.0933929Z ##[error]Process completed with exit code 2.

Why: This error occurs because a Prometheus metric descriptor with the same fully-qualified name has already been registered, but with different label names or a different help string. This conflict causes a panic during the registration process.

Suggested fix: Ensure that all metric descriptors are uniquely defined with consistent label names and help strings across the entire codebase. Check for any duplicate registrations and resolve inconsistencies.

2. Descriptor registration conflict: go_core_ccip_deployment_tests

Source of Error:
Setup DB	2024-10-21T19:20:09.5666323Z panic: a previously registered descriptor with the same fully-qualified name as Desc{fqName: "head_tracker_current_head", help: "Tracks the current block height that the monitoring instance has processed.", constLabels: {}, variableLabels: {network_name,chain_id,network_id}} has different label names or a different help string
Setup DB	2024-10-21T19:20:09.5668512Z 
Setup DB	2024-10-21T19:20:09.5668745Z goroutine 1 [running]:
Setup DB	2024-10-21T19:20:09.5669728Z github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0x811c360, {0xc00148bd70?, 0x0?, 0x0?})
Setup DB	2024-10-21T19:20:09.5671623Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/registry.go:406 +0x66
Setup DB	2024-10-21T19:20:09.5673229Z github.com/prometheus/client_golang/prometheus/promauto.Factory.NewGaugeVec({{0x59ed230?, 0x811c360?}}, {{0x0, 0x0}, {0x0, 0x0}, {0x4b3d9b6, 0x19}, {0x4c180de, 0x4b}, ...}, ...)
Setup DB	2024-10-21T19:20:09.5676390Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:308 +0x163
Setup DB	2024-10-21T19:20:09.5677581Z github.com/prometheus/client_golang/prometheus/promauto.NewGaugeVec(...)
Setup DB	2024-10-21T19:20:09.5678652Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:198
Setup DB	2024-10-21T19:20:09.5679807Z github.com/smartcontractkit/chainlink-common/pkg/monitoring.init()
Setup DB	2024-10-21T19:20:09.5681313Z 	/home/runner/go/pkg/mod/github.com/smartcontractkit/[email protected]/pkg/monitoring/metrics.go:40 +0x115
Setup DB	2024-10-21T19:20:09.5705504Z ##[error]Process completed with exit code 2.

Why: This error is identical to the one in go_core_race_tests, indicating a conflict in Prometheus metric descriptor registration due to inconsistent label names or help strings.

Suggested fix: Ensure that all metric descriptors are uniquely defined with consistent label names and help strings across the entire codebase. Check for any duplicate registrations and resolve inconsistencies.

3. Descriptor registration conflict: go_core_fuzz

Source of Error:
Setup DB	2024-10-21T19:21:03.5841043Z panic: a previously registered descriptor with the same fully-qualified name as Desc{fqName: "head_tracker_current_head", help: "Tracks the current block height that the monitoring instance has processed.", constLabels: {}, variableLabels: {network_name,chain_id,network_id}} has different label names or a different help string
Setup DB	2024-10-21T19:21:03.5842962Z 
Setup DB	2024-10-21T19:21:03.5843222Z goroutine 1 [running]:
Setup DB	2024-10-21T19:21:03.5844965Z github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0x811c360, {0xc0013a2420?, 0x0?, 0x0?})
Setup DB	2024-10-21T19:21:03.5846626Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/registry.go:406 +0x66
Setup DB	2024-10-21T19:21:03.5848288Z github.com/prometheus/client_golang/prometheus/promauto.Factory.NewGaugeVec({{0x59ed230?, 0x811c360?}}, {{0x0, 0x0}, {0x0, 0x0}, {0x4b3d9b6, 0x19}, {0x4c180de, 0x4b}, ...}, ...)
Setup DB	2024-10-21T19:21:03.5849737Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:308 +0x163
Setup DB	2024-10-21T19:21:03.5850866Z github.com/prometheus/client_golang/prometheus/promauto.NewGaugeVec(...)
Setup DB	2024-10-21T19:21:03.5851879Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:198
Setup DB	2024-10-21T19:21:03.5853071Z github.com/smartcontractkit/chainlink-common/pkg/monitoring.init()
Setup DB	2024-10-21T19:21:03.5854670Z 	/home/runner/go/pkg/mod/github.com/smartcontractkit/[email protected]/pkg/monitoring/metrics.go:40 +0x115
Setup DB	2024-10-21T19:21:03.5882071Z ##[error]Process completed with exit code 2.

Why: This error is identical to the one in go_core_race_tests and go_core_ccip_deployment_tests, indicating a conflict in Prometheus metric descriptor registration due to inconsistent label names or help strings.

Suggested fix: Ensure that all metric descriptors are uniquely defined with consistent label names and help strings across the entire codebase. Check for any duplicate registrations and resolve inconsistencies.

4. Descriptor registration conflict: go_core_tests

Source of Error:
Setup DB	2024-10-21T19:20:24.6079125Z panic: a previously registered descriptor with the same fully-qualified name as Desc{fqName: "head_tracker_current_head", help: "Tracks the current block height that the monitoring instance has processed.", constLabels: {}, variableLabels: {network_name,chain_id,network_id}} has different label names or a different help string
Setup DB	2024-10-21T19:20:24.6080820Z 
Setup DB	2024-10-21T19:20:24.6081062Z goroutine 1 [running]:
Setup DB	2024-10-21T19:20:24.6082120Z github.com.prometheus.client_golang.prometheus.(*Registry).MustRegister(0x811c360, {0xc0017441c0?, 0x0?, 0x0?})
Setup DB	2024-10-21T19:20:24.6083529Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/registry.go:406 +0x66
Setup DB	2024-10-21T19:20:24.6085384Z github.com.prometheus.client_golang.prometheus.promauto.Factory.NewGaugeVec({{0x59ed230?, 0x811c360?}}, {{0x0, 0x0}, {0x0, 0x0}, {0x4b3d9b6, 0x19}, {0x4c180de, 0x4b}, ...}, ...)
Setup DB	2024-10-21T19:20:24.6087014Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:308 +0x163
Setup DB	2024-10-21T19:20:24.6088152Z github.com.prometheus.client_golang.prometheus.promauto.NewGaugeVec(...)
Setup DB	2024-10-21T19:20:24.6089374Z 	/home/runner/go/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:198
Setup DB	2024-10-21T19:20:24.6090609Z github.com.smartcontractkit.chainlink-common.pkg.monitoring.init()
Setup DB	2024-10-21T19:20:24.6092004Z 	/home/runner/go/pkg/mod/github.com/smartcontractkit/[email protected]/pkg/monitoring/metrics.go:40 +0x115
Setup DB	2024-10-21T19:20:24.6122995Z ##[error]Process completed with exit code 2.

Why: This error is identical to the one in go_core_race_tests, go_core_ccip_deployment_tests, and go_core_fuzz, indicating a conflict in Prometheus metric descriptor registration due to inconsistent label names or help strings.

Suggested fix: Ensure that all metric descriptors are uniquely defined with consistent label names and help strings across the entire codebase. Check for any duplicate registrations and resolve inconsistencies.

5. Missing method in interface implementation: Golang Lint

Source of Error:
Golang Lint	2024-10-21T19:25:56.9476210Z core/services/relay/evm/codec/codec_fuzz_test.go:1: : # github.com/smartcontractkit/chainlink/v2/core/services/relay/evm/codec_test [github.com/smartcontractkit/chainlink/v2/core/services/relay/evm/codec.test]
Golang Lint	2024-10-21T19:25:56.9546461Z ##[error]core/services/relay/evm/codec/codec_fuzz_test.go:11:47: cannot use tester (variable of type *codecInterfaceTester) as interfacetests.CodecInterfaceTester value in argument to interfacetests.RunCodecInterfaceFuzzTests: *codecInterfaceTester does not implement interfacetests.CodecInterfaceTester (missing method GetAccountString)
Golang Lint	2024-10-21T19:25:56.9553932Z ##[error]core/services/relay/evm/codec/codec_test.go:32:28: cannot use tester (variable of type *codecInterfaceTester) as interfacetests.CodecInterfaceTester value in argument to RunCodecInterfaceTests: *codecInterfaceTester does not implement interfacetests.CodecInterfaceTester (missing method GetAccountString)
Golang Lint	2024-10-21T19:25:56.9561132Z ##[error]core/services/relay/evm/codec/codec_test.go:33:65: cannot use tester (variable of type *codecInterfaceTester) as interfacetests.CodecInterfaceTester value in argument to looptestutils.WrapCodecTesterForLoop: *codecInterfaceTester does not implement interfacetests.CodecInterfaceTester (missing method GetAccountString)
Golang Lint	2024-10-21T19:25:56.9568437Z ##[error]core/services/relay/evm/codec/codec_test.go:199:48: cannot use it (variable of type *codecInterfaceTester) as interfacetests.BasicTester[*"testing".T] value in argument to CreateTestStruct[*testing.T]: *codecInterfaceTester does not implement interfacetests.BasicTester[*"testing".T] (missing method GetAccountString) (typecheck)

Why: The codecInterfaceTester type does not implement the interfacetests.CodecInterfaceTester interface because it is missing the GetAccountString method. This causes type-checking errors when trying to use codecInterfaceTester where interfacetests.CodecInterfaceTester is expected.

Suggested fix: Implement the GetAccountString method for the codecInterfaceTester type to ensure it satisfies the interfacetests.CodecInterfaceTester interface.

AER Report: Operator UI CI ran successfully ✅

aer_workflow , commit

@vyzaldysanchez vyzaldysanchez requested a review from a team as a code owner October 21, 2024 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant