Skip to content

Commit 7bfe4cb

Browse files
committed
Initial commit - KaflowSQL v1.0.0
0 parents  commit 7bfe4cb

74 files changed

Lines changed: 15501 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Bug Report
2+
description: File a bug report to help us improve
3+
title: "[Bug]: "
4+
labels: ["bug", "triage"]
5+
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to fill out this bug report!
11+
12+
- type: input
13+
id: version
14+
attributes:
15+
label: Version
16+
description: What version of KaflowSQL are you running?
17+
placeholder: e.g., v1.0.0, main branch, commit hash
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: bug-description
23+
attributes:
24+
label: Bug Description
25+
description: A clear and concise description of what the bug is.
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: reproduction
31+
attributes:
32+
label: Steps to Reproduce
33+
description: Steps to reproduce the behavior
34+
placeholder: |
35+
1. Start the engine with config...
36+
2. Send message to topic...
37+
3. Observe error...
38+
validations:
39+
required: true
40+
41+
- type: textarea
42+
id: expected
43+
attributes:
44+
label: Expected Behavior
45+
description: A clear description of what you expected to happen.
46+
validations:
47+
required: true
48+
49+
- type: textarea
50+
id: logs
51+
attributes:
52+
label: Logs
53+
description: Please copy and paste any relevant log output
54+
render: shell
55+
56+
- type: input
57+
id: environment
58+
attributes:
59+
label: Environment
60+
description: Your runtime environment
61+
placeholder: e.g., Docker, Kubernetes, bare metal, OS version
62+
63+
- type: textarea
64+
id: additional
65+
attributes:
66+
label: Additional Context
67+
description: Add any other context about the problem here.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Feature Request
2+
description: Suggest an idea for KaflowSQL
3+
title: "[Feature]: "
4+
labels: ["enhancement", "triage"]
5+
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for suggesting a new feature for KaflowSQL!
11+
12+
- type: textarea
13+
id: problem
14+
attributes:
15+
label: Problem Description
16+
description: Is your feature request related to a problem? Please describe.
17+
placeholder: I'm always frustrated when...
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: solution
23+
attributes:
24+
label: Proposed Solution
25+
description: Describe the solution you'd like
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: alternatives
31+
attributes:
32+
label: Alternatives Considered
33+
description: Describe any alternative solutions or features you've considered
34+
35+
- type: dropdown
36+
id: component
37+
attributes:
38+
label: Component
39+
description: Which component would this feature affect?
40+
options:
41+
- Engine/Processing
42+
- State Management
43+
- Kafka Integration
44+
- Schema Management
45+
- Configuration
46+
- Docker/Deployment
47+
- Documentation
48+
- Other
49+
50+
- type: checkboxes
51+
id: requirements
52+
attributes:
53+
label: Requirements
54+
options:
55+
- label: This feature would not break existing functionality
56+
- label: I am willing to submit a PR for this feature
57+
- label: This feature has been discussed in GitHub Discussions
58+
59+
- type: textarea
60+
id: additional
61+
attributes:
62+
label: Additional Context
63+
description: Add any other context, mockups, or examples about the feature request here.

.github/pull_request_template.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Pull Request
2+
3+
## Description
4+
5+
Brief description of changes and motivation.
6+
7+
Fixes #(issue)
8+
9+
## Type of Change
10+
11+
- [ ] Bug fix (non-breaking change that fixes an issue)
12+
- [ ] New feature (non-breaking change that adds functionality)
13+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
14+
- [ ] Documentation update
15+
- [ ] Performance improvement
16+
- [ ] Code refactoring
17+
18+
## Changes Made
19+
20+
- [ ] Change 1
21+
- [ ] Change 2
22+
- [ ] Change 3
23+
24+
## Testing
25+
26+
- [ ] Unit tests pass locally
27+
- [ ] Integration tests pass
28+
- [ ] Manual testing completed
29+
- [ ] Performance impact assessed
30+
31+
### Test Plan
32+
33+
Describe how you tested your changes:
34+
35+
```
36+
# Commands run for testing
37+
make test
38+
make test-coverage
39+
```
40+
41+
## Documentation
42+
43+
- [ ] Updated README.md if needed
44+
- [ ] Updated CLAUDE.md if needed
45+
- [ ] Added/updated code comments
46+
- [ ] Updated API documentation
47+
48+
## Checklist
49+
50+
- [ ] My code follows the project's code style
51+
- [ ] I have performed a self-review of my code
52+
- [ ] I have commented my code in hard-to-understand areas
53+
- [ ] My changes generate no new warnings
54+
- [ ] I have added tests that prove my fix is effective or that my feature works
55+
- [ ] New and existing unit tests pass locally with my changes
56+
- [ ] Any dependent changes have been merged and published
57+
58+
## Screenshots (if applicable)
59+
60+
Add screenshots to help explain your changes.
61+
62+
## Additional Notes
63+
64+
Any additional information that reviewers should know.

.github/workflows/ci.yml

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
env:
10+
GO_VERSION: '1.24.1'
11+
12+
jobs:
13+
test:
14+
name: Test
15+
runs-on: ubuntu-latest
16+
strategy:
17+
matrix:
18+
go-version: [ '1.24.1' ]
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v4
23+
24+
- name: Set up Go
25+
uses: actions/setup-go@v5
26+
with:
27+
go-version: ${{ matrix.go-version }}
28+
29+
- name: Cache Go modules
30+
uses: actions/cache@v4
31+
with:
32+
path: |
33+
~/.cache/go-build
34+
~/go/pkg/mod
35+
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
36+
restore-keys: |
37+
${{ runner.os }}-go-${{ matrix.go-version }}-
38+
39+
- name: Download dependencies
40+
run: go mod download
41+
42+
- name: Verify dependencies
43+
run: go mod verify
44+
45+
- name: Build
46+
run: make build
47+
48+
- name: Run unit tests
49+
run: make test
50+
51+
- name: Run tests with race detector
52+
run: make test-race
53+
54+
- name: Run performance benchmarks
55+
run: make test-bench
56+
57+
- name: Generate coverage report
58+
run: make test-coverage-full
59+
60+
- name: Upload coverage to Codecov
61+
uses: codecov/codecov-action@v4
62+
with:
63+
file: ./coverage.out
64+
flags: unittests
65+
name: codecov-umbrella
66+
67+
lint:
68+
name: Lint
69+
runs-on: ubuntu-latest
70+
71+
steps:
72+
- name: Checkout code
73+
uses: actions/checkout@v4
74+
75+
- name: Set up Go
76+
uses: actions/setup-go@v5
77+
with:
78+
go-version: ${{ env.GO_VERSION }}
79+
80+
- name: golangci-lint
81+
uses: golangci/golangci-lint-action@v6
82+
with:
83+
version: latest
84+
args: --timeout=5m
85+
86+
security:
87+
name: Security Scan
88+
runs-on: ubuntu-latest
89+
permissions:
90+
contents: read
91+
security-events: write
92+
actions: read
93+
statuses: write
94+
95+
steps:
96+
- name: Checkout code
97+
uses: actions/checkout@v4
98+
99+
- name: Run Gosec Security Scanner
100+
uses: securego/gosec@master
101+
with:
102+
args: '-fmt sarif -out gosec-results.sarif -stdout -verbose=text ./...'
103+
continue-on-error: true
104+
105+
- name: Run Trivy vulnerability scanner
106+
uses: aquasecurity/trivy-action@master
107+
with:
108+
scan-type: 'fs'
109+
scan-ref: '.'
110+
format: 'sarif'
111+
output: 'trivy-results.sarif'
112+
exit-code: '0'
113+
continue-on-error: true
114+
115+
- name: Display Gosec scan results
116+
if: always() && hashFiles('gosec-results.sarif') != ''
117+
run: |
118+
echo "=== Gosec Security Scan Results ==="
119+
if [ -f gosec-results.sarif ]; then
120+
echo "Gosec scan completed. Results saved to gosec-results.sarif"
121+
echo "Note: Enable GitHub Code Scanning in repository settings to upload SARIF results"
122+
fi
123+
124+
- name: Display Trivy scan results
125+
if: always() && hashFiles('trivy-results.sarif') != ''
126+
run: |
127+
echo "=== Trivy Vulnerability Scan Results ==="
128+
if [ -f trivy-results.sarif ]; then
129+
echo "Trivy scan completed. Results saved to trivy-results.sarif"
130+
echo "Note: Enable GitHub Code Scanning in repository settings to upload SARIF results"
131+
fi
132+
133+
build-native:
134+
name: Build Native
135+
runs-on: ubuntu-latest
136+
needs: [ test, lint ]
137+
138+
steps:
139+
- name: Checkout code
140+
uses: actions/checkout@v4
141+
142+
- name: Set up Go
143+
uses: actions/setup-go@v5
144+
with:
145+
go-version: ${{ env.GO_VERSION }}
146+
147+
- name: Build for linux/amd64
148+
env:
149+
CGO_ENABLED: 1
150+
run: |
151+
mkdir -p dist
152+
go build -ldflags="-w -s" -o dist/engine-linux-amd64 cmd/engine/main.go
153+
go build -ldflags="-w -s" -o dist/fakegen-linux-amd64 cmd/fakegen/main.go
154+
155+
- name: Upload build artifacts
156+
uses: actions/upload-artifact@v4
157+
with:
158+
name: kaflowsql-linux-amd64
159+
path: dist/
160+

0 commit comments

Comments
 (0)