Skip to content

Commit bd036db

Browse files
committed
🎉(all) init
0 parents  commit bd036db

File tree

17 files changed

+231
-0
lines changed

17 files changed

+231
-0
lines changed

.cargo/config.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[alias]
2+
b = "zigbuild"
3+
br = "zigbuild --release"
4+
c = "check"
5+
t = "test"
6+
r = "run"
7+
rr = "run --release"

.github/workflows/CI.yaml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
pull_request:
6+
branches:
7+
- main
8+
merge_group:
9+
branches:
10+
- main
11+
workflow_dispatch:
12+
13+
concurrency:
14+
group: ci-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
name: CI
18+
jobs:
19+
check:
20+
name: Check
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
- uses: dtolnay/rust-toolchain@stable
25+
- run: cargo check --all
26+
fmt:
27+
name: Format
28+
runs-on: ubuntu-latest
29+
steps:
30+
- uses: actions/checkout@v4
31+
- uses: dtolnay/rust-toolchain@stable
32+
- run: |
33+
cargo fmt --all
34+
cargo fmt --all -- --check
35+
cargo clippy --all -- -D warnings
36+
37+
build:
38+
name: Build
39+
runs-on: ${{ matrix.os }}
40+
strategy:
41+
matrix:
42+
os: [ ubuntu-latest, macos-13, windows-latest ]
43+
toolchain: [ 1.83.0, stable, nightly ]
44+
steps:
45+
- uses: actions/checkout@v4
46+
- uses: dtolnay/rust-toolchain@master
47+
with:
48+
toolchain: ${{ matrix.toolchain }}
49+
- run: cargo build --all
50+
test:
51+
name: Test
52+
runs-on: ${{ matrix.os }}
53+
strategy:
54+
matrix:
55+
os: [ ubuntu-latest, macos-13, windows-latest ]
56+
toolchain: [ 1.83.0, stable, nightly ]
57+
steps:
58+
- uses: actions/checkout@v4
59+
- uses: dtolnay/rust-toolchain@stable
60+
- run: |
61+
cargo test --all
62+
cargo test --all -- --nocapture
63+
cargo test --all --release
64+
cargo test --all --release -- --nocapture

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/target
2+
.idea
3+
.vscode
4+
5+
/**/*.log
6+
/**/*.tmp
7+
/**/*.bak

Cargo.lock

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[package]
2+
name = "flow"
3+
version = "0.1.0"
4+
edition = "2021"
5+
authors = [
6+
"Taoshisheng <[email protected]>",
7+
"ZhenYi <[email protected]>",
8+
]
9+
license = "MIT"
10+
repository = "https://github.com/gitdata-ai/flow"
11+
description = "A stream processing engine"
12+
keywords = ["flow", "flow-based", "pipeline"]
13+
readme = "README.md"
14+
documentation = "https://docs.gitdata.ai/flow"
15+
homepage = "https://gitdata.ai"
16+
17+
[workspace]
18+
members = [
19+
"cli"
20+
]
21+
22+
[[bin]]
23+
path = "src/main.rs"
24+
name = "jzflow"
25+
26+
27+
[dependencies]

Contributing.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Contributing
2+
3+
There are many ways to contribute to JZFlow. This document lays out what they
4+
are and has information on how to get started. If you have any questions about
5+
contributing or need help with anything, please ask in the GitDataAI channel
6+
on [Discord](https://discord.gg/THH43bUJgj) or [QQ](https://qm.qq.com/q/6CPL9T96TK). Feel free to also ask questions
7+
on issues, or file new issues specifically to get help.
8+
9+
## Test and file issues
10+
11+
It would be really useful to have people use rustfmt on their projects and file
12+
issues where it does something you don't expect.

Dockerfile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM rustlang/rust as builder
2+
WORKDIR /app
3+
COPY . .
4+
RUN cargo build --release
5+
6+
7+
FROM alpine:latest as runtime
8+
LABEL authors="GitDataAI Team"
9+
RUN apk add --no-cache ca-certificates tzdata openssl git
10+
COPY --from=builder /app/target/release/jzflow /app/jzflow
11+
WORKDIR /app
12+
ENTRYPOINT ["/app/jzflow"]

LICENSE

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Copyright (c) 2024 GitDataAI
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of
4+
this software and associated documentation files (the “Software”), to deal in
5+
the Software without restriction, including without limitation the rights to
6+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7+
the Software, and to permit persons to whom the Software is furnished to do so,
8+
subject to the following conditions:
9+
10+
The above copyright notice and this permission notice shall be included in all
11+
copies or substantial portions of the Software.
12+
13+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
---
3+
4+
# JZFlow
5+
6+
#### 🚧 Current Status: Incubating - JZFlow is not ready for production usage. The API is still evolving and documentation is lacking.
7+
8+
JZFlow is a Pipeline for the Rust programming language that prioritizes ease-of-use. It supports both Single Machine as well as some distributed environments, including Kubernetes and Cycle.IO. Note that JZFlow does not hide the Pipeline; instead, JZFlow exposes features based on the target pipeline.
9+
10+
### Current Status and Roadmap
11+
12+
JZFlow is still in the early development stages and is considered **incubating**. There is no commitment to ongoing maintenance or development. As the project evolves, this may change in the future. Therefore, we encourage you to explore, experiment, and contribute to JZFlow, but do not attempt to use it in production.
13+
14+
The immediate next steps for the project are to fill obvious gaps, such as implementing error handling, removing panics throughout the codebase, supporting additional data types, and writing documentation. After that, development will be based on feedback and contributions.
15+
16+
### License
17+
18+
This project is licensed under the [MIT License].
19+
20+
[MIT License]: LICENSE
21+
22+
### Contribution
23+
24+
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in GitDataAi by you, Please refer to [Contribution Guidelines](Contributing.md), shall be licensed as MIT, without any additional terms or conditions.
25+
26+

README_zh.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# JZFlow
2+
3+
#### 🚧 当前状态:孵化中 - JZFlow 尚未准备好用于生产环境。API 仍在发展中,文档不完整。
4+
5+
JZFlow 是 Rust 编程语言的一个 Pipeline 库,它优先考虑易用性。它支持单机以及一些分布式环境,包括 Kubernetes 和 Cycle.IO。请注意,JZFlow 不隐藏 Pipeline,而是根据目标 Pipeline 暴露功能。
6+
7+
### 当前状态和路线图
8+
9+
JZFlow 仍处于早期开发阶段,被认为是 **孵化中**。目前没有承诺持续维护或开发。随着项目的发展,未来可能会有所改变。因此,我们鼓励你探索、实验和为 JZFlow 做出贡献,但不要尝试在生产环境中使用它。
10+
11+
项目接下来的步骤是填补明显的空白,例如实现错误处理、移除代码库中的 panics、支持额外的数据类型和编写文档。之后,开发将基于反馈和贡献进行。
12+
13+
### 许可证
14+
15+
本项目在 [MIT 许可证] 下授权。
16+
17+
[MIT 许可证]: LICENSE
18+
19+
### 贡献
20+
21+
除非你明确声明,否则任何你有意提交给 GitDataAI 的贡献,请参考[贡献指南](Contributing.md) ,都将按照 MIT 许可证授权,没有额外的条款或条件。

0 commit comments

Comments
 (0)