chore: update CI workflows and SonarCloud configuration for improved analysis and coverage reporting
- Unified CI workflow with fail-fast behavior, streamlining stages for formatting, linting, testing, and SonarCloud analysis. - Enhanced SonarCloud configuration to exclude test files and improve security hotspot analysis. - Removed outdated coverage and lint workflows, consolidating functionality into the main CI pipeline. - Updated README to reflect changes in CI structure and added details on workflow stages and requirements.
This commit is contained in:
@@ -7,7 +7,7 @@ sonar.projectVersion=1.0.0
|
||||
|
||||
# Source code location
|
||||
sonar.sources=.
|
||||
sonar.exclusions=**/vendor/**,**/*_test.go,**/examples/**,**/cmd/**,**/server/**,**/testing/**
|
||||
sonar.exclusions=**/vendor/**,**/*_test.go,**/examples/**,**/cmd/**,**/testdata/**,**/testing/**
|
||||
|
||||
# Test settings
|
||||
sonar.tests=.
|
||||
@@ -15,15 +15,32 @@ sonar.test.inclusions=**/*_test.go
|
||||
sonar.test.exclusions=**/vendor/**
|
||||
|
||||
# Go specific settings
|
||||
sonar.language=go
|
||||
sonar.go.coverage.reportPaths=coverage.out
|
||||
sonar.go.tests.reportPaths=test-report.json
|
||||
|
||||
# Source encoding
|
||||
sonar.sourceEncoding=UTF-8
|
||||
|
||||
# Coverage exclusions
|
||||
sonar.coverage.exclusions=**/cmd/**,**/examples/**,**/server/**,**/testing/**,**/*_test.go
|
||||
# Coverage exclusions - exclude non-production code from coverage metrics
|
||||
sonar.coverage.exclusions=**/cmd/**,**/examples/**,**/server/**,**/testing/**,**/testdata/**,**/*_test.go
|
||||
|
||||
# Duplications
|
||||
sonar.cpd.exclusions=**/*_test.go
|
||||
# Duplications exclusions
|
||||
sonar.cpd.exclusions=**/*_test.go,**/testdata/**
|
||||
|
||||
# Security Hotspot exclusions - skip test files and CI configuration
|
||||
# These files don't represent production security concerns
|
||||
sonar.security.hotspots.exclusions=**/*_test.go,**/testing/**,**/testdata/**,**/.github/**,**/examples/**,**/cmd/**
|
||||
|
||||
# Issue exclusions for specific rules in test files
|
||||
sonar.issue.ignore.multicriteria=e1,e2,e3
|
||||
|
||||
# Ignore security issues in test files
|
||||
sonar.issue.ignore.multicriteria.e1.ruleKey=go:S5042
|
||||
sonar.issue.ignore.multicriteria.e1.resourceKey=**/*_test.go
|
||||
|
||||
# Ignore hardcoded credentials in test/example files (test credentials are expected)
|
||||
sonar.issue.ignore.multicriteria.e2.ruleKey=go:S6418
|
||||
sonar.issue.ignore.multicriteria.e2.resourceKey=**/*_test.go
|
||||
|
||||
sonar.issue.ignore.multicriteria.e3.ruleKey=go:S6418
|
||||
sonar.issue.ignore.multicriteria.e3.resourceKey=**/examples/**
|
||||
|
||||
Reference in New Issue
Block a user