-
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3152dc0
commit 6b3eb44
Showing
4 changed files
with
113 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
name: Address Sanitizer | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
|
||
# Cancels all previous workflow runs for pull requests that have not completed. | ||
# See https://docs.github.com/en/actions/using-jobs/using-concurrency | ||
concurrency: | ||
# The concurrency group contains the workflow name and the branch name for | ||
# pull requests or the commit hash for any other events. | ||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
memory_check: | ||
name: memory check | ||
runs-on: ubuntu-latest | ||
continue-on-error: true | ||
env: | ||
RUSTFLAGS: -D warnings -Zsanitizer=address | ||
ASAN_OPTIONS: detect_leaks=1 | ||
CARGO_TERM_COLOR: always | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Setup Rust | ||
uses: ./.github/actions/setup-rust | ||
with: | ||
toolchain: nightly-2023-08-19 | ||
|
||
- name: Memory Check | ||
run: | | ||
rustup component add rust-src --toolchain nightly-2023-08-19 | ||
cargo +nightly-2023-08-19 test -Zbuild-std --target x86_64-unknown-linux-gnu -p y-octo --lib |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
name: Memory Leak Detect | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: [main] | ||
|
||
# Cancels all previous workflow runs for pull requests that have not completed. | ||
# See https://docs.github.com/en/actions/using-jobs/using-concurrency | ||
concurrency: | ||
# The concurrency group contains the workflow name and the branch name for | ||
# pull requests or the commit hash for any other events. | ||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
miri: | ||
name: miri code check | ||
runs-on: ubuntu-latest | ||
continue-on-error: true | ||
env: | ||
RUST_BACKTRACE: full | ||
CARGO_TERM_COLOR: always | ||
MIRIFLAGS: -Zmiri-backtrace=full -Zmiri-tree-borrows | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Setup Rust | ||
uses: ./.github/actions/setup-rust | ||
with: | ||
toolchain: nightly-2023-08-19 | ||
components: miri | ||
- name: Install latest nextest release | ||
uses: taiki-e/install-action@nextest | ||
|
||
- name: Miri Code Check | ||
run: | | ||
cargo +nightly-2023-08-19 miri nextest run -p y-octo -j2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,43 @@ | ||
# Y-Octo | ||
|
||
[![codecov]](https://codecov.io/gh/toeverything/y-octo) | ||
[![docs]](https://docs.rs/crate/y-octo) [![crates]](https://crates.io/crates/y-octo) [![codecov]](https://codecov.io/gh/toeverything/y-octo) | ||
|
||
Y-Octo is a high-performance CRDT implementation compatible with [yjs]. | ||
|
||
Y-Octo aims to provide a thread-safe, high-performance CRDT implementation on multiple platforms and offers binary compatibility and interoperability with [yjs]. | ||
|
||
## Code Robustness | ||
|
||
[![Lint & Test & Fuzzing]](https://github.com/toeverything/y-octo/actions/workflows/y-octo.yml) | ||
[![Address Sanitizer]](https://github.com/toeverything/y-octo/actions/workflows/asan.yml) | ||
[![Memory Leak Detect]](https://github.com/toeverything/y-octo/actions/workflows/memory-test.yml) | ||
|
||
## Features | ||
|
||
- [x] Collaborative Text | ||
- [x] Read and write styled Unicode compatible data. | ||
- [ ] Add, modify and delete text styles. | ||
- [ ] Embedded JS data types and collaborative types. | ||
- [x] Collaborative types of thread-safe. | ||
- [x] Collaborative Array and Map | ||
- [x] Add, modify, and delete basic JS data types. | ||
- [x] Recursively add, modify, and delete collaborative Rich-Text, Map, and Array data types. | ||
- [x] Collaborative types of thread-safe. | ||
- [ ] Recursive event subscription | ||
- [ ] Xml series yjs types | ||
- [x] Collaborative Doc Container | ||
- [x] YATA CRDT state apply/diff compatible with [yjs] | ||
- [x] State sync of thread-safe. | ||
- [x] Store all collaborative types and JS data types | ||
- [x] Update event subscription. | ||
- [x] Yjs primitive type encoding. | ||
- [x] Yjs v1 encoding. | ||
- [ ] Yjs v2 encoding. | ||
|
||
[codecov]: https://codecov.io/gh/toeverything/y-octo/graph/badge.svg?token=9AQY5Q1BYH | ||
[crates]: https://img.shields.io/crates/v/y-octo.svg | ||
[docs]: https://img.shields.io/crates/v/y-octo.svg | ||
[yjs]: https://github.com/yjs/yjs | ||
[Lint & Test & Fuzzing]: https://github.com/toeverything/y-octo/actions/workflows/y-octo.yml/badge.svg | ||
[Address Sanitizer]: https://github.com/toeverything/y-octo/actions/workflows/y-octo-asan.yml/badge.svg | ||
[Memory Leak Detect]: https://github.com/toeverything/y-octo/actions/workflows/y-octo-memory-test.yml/badge.svg |