Skip to content

Commit 4d5fbe9

Browse files
committed
feat: incipit
0 parents  commit 4d5fbe9

File tree

714 files changed

+167828
-0
lines changed

Some content is hidden

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

714 files changed

+167828
-0
lines changed

.dockerignore

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# SPDX-FileCopyrightText: © 2025 StreamKit Contributors
2+
#
3+
# SPDX-License-Identifier: MPL-2.0
4+
5+
# Build artifacts
6+
target/
7+
*/target/
8+
9+
# Large local artifacts (not needed for image builds)
10+
models/
11+
.plugins/
12+
13+
# Node modules
14+
node_modules/
15+
ui/node_modules/
16+
ui/dist/
17+
ui/.next/
18+
ui/.bun_tmp/
19+
ui/.bun_install/
20+
21+
# Git
22+
.git/
23+
.github/
24+
25+
# IDE
26+
.vscode/
27+
.idea/
28+
*.swp
29+
*.swo
30+
31+
# Documentation
32+
docs/
33+
*.md
34+
!README.md
35+
36+
# Demo files (not included in official images)
37+
# Keep demo configs needed by Dockerfile.full* images.
38+
demo/**
39+
!demo/skit.toml
40+
!demo/skit-gpu.toml
41+
!demo/Dockerfile
42+
!demo/pipelines/**
43+
44+
# Test files
45+
**/*test.rs
46+
**/*_test.rs
47+
**/tests/
48+
49+
# Examples (toy plugins for documentation only)
50+
examples/plugins/
51+
52+
# DO NOT exclude plugins/native/* - needed for Docker builds
53+
54+
# Development files
55+
.claude/
56+
.skit_history
57+
.skit_history.*
58+
.env
59+
.env.local
60+
*.log
61+
62+
# Profiling data
63+
profiling-data.*.json
64+
*.profdata
65+
66+
# Review documents
67+
*_REVIEW.md
68+
*_ANALYSIS.md
69+
*_SUMMARY.md
70+
*_FIX.md
71+
*_GUIDE.md

.editorconfig

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# SPDX-FileCopyrightText: © 2025 StreamKit Contributors
2+
#
3+
# SPDX-License-Identifier: MPL-2.0
4+
5+
# EditorConfig is awesome: https://EditorConfig.org
6+
7+
root = true
8+
9+
# Default settings for all files
10+
[*]
11+
charset = utf-8
12+
end_of_line = lf
13+
insert_final_newline = true
14+
trim_trailing_whitespace = true
15+
16+
# JavaScript/TypeScript/JSON
17+
[*.{js,ts,tsx,json,jsonc}]
18+
indent_style = space
19+
indent_size = 2
20+
21+
# Rust
22+
[*.rs]
23+
indent_style = space
24+
indent_size = 4
25+
26+
# YAML
27+
[*.{yml,yaml}]
28+
indent_style = space
29+
indent_size = 2
30+
31+
# TOML
32+
[*.toml]
33+
indent_style = space
34+
indent_size = 2
35+
36+
# Markdown
37+
[*.md]
38+
trim_trailing_whitespace = false
39+
indent_style = space
40+
indent_size = 2
41+
42+
# Shell scripts
43+
[*.sh]
44+
indent_style = space
45+
indent_size = 2
46+
47+
# Makefiles
48+
[Makefile]
49+
indent_style = tab
50+
51+
# Go
52+
[*.go]
53+
indent_style = tab
54+
55+
# C/C++
56+
[*.{c,cpp,h,hpp}]
57+
indent_style = space
58+
indent_size = 4

.github/workflows/ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
workflow_dispatch: {}
9+
10+
jobs:
11+
skit:
12+
name: Skit
13+
uses: ./.github/workflows/skit.yml
14+
15+
ui:
16+
name: UI
17+
uses: ./.github/workflows/ui.yml
18+
19+
plugins:
20+
name: Plugins
21+
uses: ./.github/workflows/plugins.yml
22+
23+
all-checks:
24+
name: All Checks Passed
25+
runs-on: ubuntu-22.04
26+
needs: [skit, ui, plugins]
27+
steps:
28+
- name: All checks passed
29+
run: echo "All CI checks passed successfully!"

.github/workflows/docker.yml

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# SPDX-FileCopyrightText: © 2025 StreamKit Contributors
2+
#
3+
# SPDX-License-Identifier: MPL-2.0
4+
5+
name: Docker Build and Publish
6+
7+
on:
8+
push:
9+
tags:
10+
- 'v*.*.*'
11+
12+
env:
13+
REGISTRY: ghcr.io
14+
IMAGE_NAME: ${{ github.repository }}
15+
16+
jobs:
17+
build-cpu:
18+
name: Build CPU Image
19+
runs-on: self-hosted
20+
permissions:
21+
contents: read
22+
packages: write
23+
steps:
24+
- name: Checkout code
25+
uses: actions/checkout@v5
26+
27+
- name: Set up Docker Buildx
28+
uses: docker/setup-buildx-action@v3
29+
30+
- name: Log in to GitHub Container Registry
31+
uses: docker/login-action@v3
32+
with:
33+
registry: ${{ env.REGISTRY }}
34+
username: ${{ github.actor }}
35+
password: ${{ secrets.GITHUB_TOKEN }}
36+
37+
- name: Extract version from tag
38+
id: meta
39+
run: |
40+
VERSION=${GITHUB_REF#refs/tags/}
41+
echo "version=${VERSION}" >> $GITHUB_OUTPUT
42+
echo "Building version: ${VERSION}"
43+
{
44+
echo "tags<<EOF"
45+
echo "${REGISTRY}/${IMAGE_NAME}:${VERSION}"
46+
if [[ "$VERSION" != *-* ]]; then
47+
echo "${REGISTRY}/${IMAGE_NAME}:latest"
48+
fi
49+
echo "EOF"
50+
} >> "$GITHUB_OUTPUT"
51+
52+
- name: Build and push CPU image
53+
uses: docker/build-push-action@v5
54+
with:
55+
context: .
56+
file: ./Dockerfile
57+
push: true
58+
tags: ${{ steps.meta.outputs.tags }}
59+
cache-from: type=local,src=/mnt/docker-cache
60+
cache-to: type=local,dest=/mnt/docker-cache,mode=max
61+
platforms: linux/amd64
62+
provenance: false
63+
64+
build-gpu:
65+
name: Build GPU Image
66+
runs-on: self-hosted
67+
permissions:
68+
contents: read
69+
packages: write
70+
steps:
71+
- name: Checkout code
72+
uses: actions/checkout@v5
73+
74+
- name: Set up Docker Buildx
75+
uses: docker/setup-buildx-action@v3
76+
77+
- name: Log in to GitHub Container Registry
78+
uses: docker/login-action@v3
79+
with:
80+
registry: ${{ env.REGISTRY }}
81+
username: ${{ github.actor }}
82+
password: ${{ secrets.GITHUB_TOKEN }}
83+
84+
- name: Extract version from tag
85+
id: meta
86+
run: |
87+
VERSION=${GITHUB_REF#refs/tags/}
88+
echo "version=${VERSION}" >> $GITHUB_OUTPUT
89+
echo "Building version: ${VERSION}"
90+
{
91+
echo "tags<<EOF"
92+
echo "${REGISTRY}/${IMAGE_NAME}:${VERSION}-gpu"
93+
if [[ "$VERSION" != *-* ]]; then
94+
echo "${REGISTRY}/${IMAGE_NAME}:latest-gpu"
95+
fi
96+
echo "EOF"
97+
} >> "$GITHUB_OUTPUT"
98+
99+
- name: Build and push GPU image
100+
uses: docker/build-push-action@v5
101+
with:
102+
context: .
103+
file: ./Dockerfile.gpu
104+
push: true
105+
tags: ${{ steps.meta.outputs.tags }}
106+
cache-from: type=local,src=/mnt/docker-cache
107+
cache-to: type=local,dest=/mnt/docker-cache,mode=max
108+
platforms: linux/amd64
109+
provenance: false

.github/workflows/docs.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-FileCopyrightText: © 2025 StreamKit Contributors
2+
#
3+
# SPDX-License-Identifier: MPL-2.0
4+
5+
name: Deploy Docs
6+
7+
on:
8+
push:
9+
branches: [main]
10+
paths:
11+
- 'docs/**'
12+
- '.github/workflows/docs.yml'
13+
workflow_dispatch: # Manual trigger
14+
15+
permissions:
16+
contents: read
17+
pages: write
18+
id-token: write
19+
20+
concurrency:
21+
group: "pages"
22+
cancel-in-progress: false
23+
24+
jobs:
25+
build:
26+
runs-on: ubuntu-22.04
27+
steps:
28+
- uses: actions/checkout@v5
29+
- uses: oven-sh/setup-bun@v2
30+
with:
31+
bun-version: "1.3.5"
32+
- name: Install dependencies
33+
working-directory: docs
34+
run: bun install --frozen-lockfile
35+
- name: Build docs
36+
working-directory: docs
37+
run: bun run build
38+
- uses: actions/upload-pages-artifact@v3
39+
with:
40+
path: docs/dist
41+
42+
deploy:
43+
needs: build
44+
runs-on: ubuntu-22.04
45+
environment:
46+
name: github-pages
47+
url: ${{ steps.deployment.outputs.page_url }}
48+
steps:
49+
- uses: actions/deploy-pages@v4
50+
id: deployment

0 commit comments

Comments
 (0)