Skip to content

Commit

Permalink
docs: update readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
darkskygit committed Aug 22, 2023
1 parent 3152dc0 commit 6b3eb44
Show file tree
Hide file tree
Showing 4 changed files with 113 additions and 46 deletions.
38 changes: 38 additions & 0 deletions .github/workflows/y-octo-asan.yml
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
40 changes: 40 additions & 0 deletions .github/workflows/y-octo-memory-test.yml
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
46 changes: 1 addition & 45 deletions .github/workflows/y-octo.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build Y-Octo
name: Lint & Test & Fuzzing

on:
workflow_dispatch:
Expand Down Expand Up @@ -95,27 +95,6 @@ jobs:
name: tests
files: lcov.info

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
loom:
name: loom thread test
runs-on: ubuntu-latest
Expand All @@ -136,29 +115,6 @@ jobs:
run: |
cargo nextest run -p y-octo --lib
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
fuzzing:
name: fuzzing
runs-on: ubuntu-latest
Expand Down
35 changes: 34 additions & 1 deletion README.md
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

0 comments on commit 6b3eb44

Please sign in to comment.