[LANGPLAT-437] Improve CI and dogfooding practices for dd-trace-go#3727
Conversation
7ec201a to
27fb69a
Compare
dd-trace-go
d99138f to
fc54d77
Compare
fc54d77 to
ba2e5eb
Compare
c8f8d7b to
bb4860f
Compare
bb4860f to
f9b32bb
Compare
Add comprehensive development scripts: - lint.sh: Run all linters (goimports, golangci-lint, checklocks) - format.sh: Format Go and shell files - checklocks.sh: Lock analysis for deadlock detection - fix-modules.sh: Module consistency management (replaces fix_modules.sh) Enhance existing scripts: - test.sh: Improved output formatting and error handling - ci-test-contrib.sh: Better CI integration These scripts provide consistent tooling for local development and CI environments. Signed-off-by: Kemal Akkoyun <[email protected]>
Add comprehensive static-checks workflow including: - Copyright header verification - Code generation validation - Module consistency checks - Comprehensive linting with golangci-lint - Lock analysis with checklocks Add dedicated generate workflow for code generation tasks. Streamline unit-integration-tests workflow by removing duplicate jobs that are now handled by static-checks. Fix script path references in smoke-tests workflow (fix_modules.sh -> fix-modules.sh). Signed-off-by: Kemal Akkoyun <[email protected]>
Add golangci-lint/v2 and shfmt to project tools for: - Comprehensive Go linting across the codebase - Shell script formatting and validation Update go.mod and go.sum with new dependencies. Update go.work.sum with workspace changes. Signed-off-by: Kemal Akkoyun <[email protected]>
CONTRIBUTING.md: - Add comprehensive CI workflow documentation - Document new development scripts (lint.sh, format.sh, etc.) - Add troubleshooting guides for CI failures - Improve formatting and structure - Update linting instructions with new tools README.md: - Fix formatting inconsistencies - Improve bullet point alignment - Clean up whitespace and formatting Signed-off-by: Kemal Akkoyun <[email protected]>
Update golangci-lint version in pre-commit config to v2.2.1 and add sync reminder comment. Add tmp directory to .gitignore for temporary development files. Signed-off-by: Kemal Akkoyun <[email protected]>
Fix line continuation formatting in dsn.go and remove unnecessary blank identifier in fixmodules/main.go. These are automated formatting changes from gofmt/goimports. Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
f9b32bb to
1508d80
Compare
Signed-off-by: Kemal Akkoyun <[email protected]>
ccf7bac to
b86eb16
Compare
…dor) Signed-off-by: Kemal Akkoyun <[email protected]>
feced67 to
b3602a8
Compare
deecbaa to
aa5854a
Compare
|
|
|
/merge --cancel |
|
View all feedbacks in Devflow UI.
|
|
/merge |
|
View all feedbacks in Devflow UI.
This merge request is not mergeable yet, because of pending checks/missing approvals. It will be added to the queue as soon as checks pass and/or get approvals.
[email protected] unqueued this merge request |
|
/remove |
|
View all feedbacks in Devflow UI.
|
Signed-off-by: Eliott Bouhana <[email protected]>
Signed-off-by: Eliott Bouhana <[email protected]>
Add the reverted chages back from "Improve CI and dogfooding practices for dd-trace-go #3727" And also; - Add embedmd to development tools for automatic documentation embedding - Add 'make docs' command to update README files with current help outputs - Add CI check to ensure documentation stays up-to-date - Generate clean, idempotent help outputs for consistent documentation Signed-off-by: Kemal Akkoyun <[email protected]>
What does this PR do?
This PR introduces comprehensive development tooling and CI improvements to enhance code quality, consistency, and developer experience across the dd-trace-go repository.
Key changes include:
Motivation
https://datadoghq.atlassian.net/browse/LANGPLAT-437
The current development workflow lacks consistent tooling and comprehensive static analysis, leading to:
This PR addresses these issues by providing:
Reviewer's Checklist