Skip to content

Commit 3f0097d

Browse files
committed
feat!: release v1.0.0 with hybrid Go/Python architecture
BREAKING CHANGE: Complete rewrite with Go HTTP server and Python CLI tool Major Changes: - Remove old Python webhook_bridge package and FastAPI server - Add Go HTTP server with Gin framework for high performance - Create Python CLI tool for binary management and easy installation - Add modern dashboard with Tailwind CSS and shadcn/ui design - Support cross-platform binary distribution (Linux, Windows, macOS) - Implement comprehensive CI/CD pipelines with Go and Python testing - Add gRPC communication between Go server and Python executor - Simplify deployment with single binary distribution - Improve performance with concurrent worker pool - Add modern web interface with real-time updates New Features: - uvx webhook-bridge install/run commands for easy usage - Cross-platform binary auto-download and management - Modern responsive web dashboard - RESTful API with comprehensive documentation - Configuration management with YAML support - Comprehensive logging and monitoring - Docker support with multi-stage builds - Security scanning and code quality checks Architecture: - Go HTTP server (cmd/server) - High-performance request handling - Python executor (python_executor) - Flexible plugin execution - Python CLI tool (webhook_bridge) - Binary management and installation - Modern web dashboard (web/) - User interface and monitoring - gRPC communication - Efficient inter-service communication This is a major version release with breaking changes. Users should migrate from v0.x using the new installation method.
1 parent d334ebc commit 3f0097d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+17984
-1425
lines changed

.golangci.yml

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
# golangci-lint configuration for webhook-bridge
2+
# See https://golangci-lint.run/usage/configuration/
3+
4+
run:
5+
timeout: 5m
6+
issues-exit-code: 1
7+
tests: true
8+
skip-dirs:
9+
- vendor
10+
- .venv
11+
- node_modules
12+
skip-files:
13+
- ".*\\.pb\\.go$"
14+
- ".*_test\\.go$"
15+
16+
output:
17+
format: colored-line-number
18+
print-issued-lines: true
19+
print-linter-name: true
20+
uniq-by-line: true
21+
sort-results: true
22+
23+
linters-settings:
24+
errcheck:
25+
check-type-assertions: true
26+
check-blank: true
27+
28+
govet:
29+
check-shadowing: true
30+
enable-all: true
31+
32+
gocyclo:
33+
min-complexity: 15
34+
35+
gofmt:
36+
simplify: true
37+
38+
goimports:
39+
local-prefixes: github.com/loonghao/webhook_bridge
40+
41+
golint:
42+
min-confidence: 0.8
43+
44+
goconst:
45+
min-len: 3
46+
min-occurrences: 3
47+
48+
misspell:
49+
locale: US
50+
51+
lll:
52+
line-length: 120
53+
54+
unused:
55+
check-exported: false
56+
57+
unparam:
58+
check-exported: false
59+
60+
nakedret:
61+
max-func-lines: 30
62+
63+
prealloc:
64+
simple: true
65+
range-loops: true
66+
for-loops: false
67+
68+
gocritic:
69+
enabled-tags:
70+
- diagnostic
71+
- experimental
72+
- opinionated
73+
- performance
74+
- style
75+
disabled-checks:
76+
- dupImport
77+
- ifElseChain
78+
- octalLiteral
79+
- whyNoLint
80+
- wrapperFunc
81+
82+
funlen:
83+
lines: 100
84+
statements: 50
85+
86+
gocognit:
87+
min-complexity: 20
88+
89+
nestif:
90+
min-complexity: 4
91+
92+
gomnd:
93+
settings:
94+
mnd:
95+
checks: argument,case,condition,operation,return,assign
96+
97+
godox:
98+
keywords:
99+
- NOTE
100+
- OPTIMIZE
101+
- HACK
102+
103+
depguard:
104+
list-type: blacklist
105+
packages:
106+
- github.com/sirupsen/logrus
107+
packages-with-error-message:
108+
- github.com/sirupsen/logrus: "logging is allowed only by logutils.Log"
109+
110+
linters:
111+
disable-all: true
112+
enable:
113+
- bodyclose
114+
- deadcode
115+
- depguard
116+
- dogsled
117+
- dupl
118+
- errcheck
119+
- exportloopref
120+
- exhaustive
121+
- funlen
122+
- gochecknoinits
123+
- goconst
124+
- gocritic
125+
- gocyclo
126+
- gofmt
127+
- goimports
128+
- gomnd
129+
- goprintffuncname
130+
- gosec
131+
- gosimple
132+
- govet
133+
- ineffassign
134+
- interfacer
135+
- lll
136+
- misspell
137+
- nakedret
138+
- noctx
139+
- nolintlint
140+
- rowserrcheck
141+
- scopelint
142+
- staticcheck
143+
- structcheck
144+
- stylecheck
145+
- typecheck
146+
- unconvert
147+
- unparam
148+
- unused
149+
- varcheck
150+
- whitespace
151+
- asciicheck
152+
- gochecknoglobals
153+
- gocognit
154+
- godot
155+
- godox
156+
- goerr113
157+
- nestif
158+
- prealloc
159+
- testpackage
160+
- wsl
161+
162+
issues:
163+
exclude-rules:
164+
# Exclude some linters from running on tests files
165+
- path: _test\.go
166+
linters:
167+
- gocyclo
168+
- errcheck
169+
- dupl
170+
- gosec
171+
- funlen
172+
- gocognit
173+
- gomnd
174+
175+
# Exclude known linters from partially hard-to-fix issues
176+
- path: cmd/
177+
linters:
178+
- gochecknoglobals
179+
- gomnd
180+
181+
# Exclude shadow checking on the variable named err
182+
- text: "shadow: declaration of \"err\""
183+
linters:
184+
- govet
185+
186+
# Exclude lll issues for long lines with go:generate
187+
- linters:
188+
- lll
189+
source: "^//go:generate "
190+
191+
# Exclude godox issues for TODO comments in development
192+
- linters:
193+
- godox
194+
source: "TODO:"
195+
196+
exclude-use-default: false
197+
max-issues-per-linter: 0
198+
max-same-issues: 0
199+
new: false
200+
201+
severity:
202+
default-severity: error
203+
case-sensitive: false
204+
rules:
205+
- linters:
206+
- dupl
207+
severity: info
208+
- linters:
209+
- gocritic
210+
severity: warning

0 commit comments

Comments
 (0)