From 18012839f80b4b7c76a10ad4ff6d3402d5accfee Mon Sep 17 00:00:00 2001 From: Zakaria Mansouri Date: Thu, 21 Nov 2024 22:45:59 +0100 Subject: [PATCH] auto-update readme of crate --- .github/workflows/rust-checks.yml | 25 +++++++++++++++++++------ .github/workflows/rust-publish.yml | 4 ++-- rust/README.md | 25 ++++++++++++++++++------- 3 files changed, 39 insertions(+), 15 deletions(-) diff --git a/.github/workflows/rust-checks.yml b/.github/workflows/rust-checks.yml index abd0336..c162bff 100644 --- a/.github/workflows/rust-checks.yml +++ b/.github/workflows/rust-checks.yml @@ -13,6 +13,8 @@ jobs: build_and_test: name: kuliya - latest runs-on: ubuntu-latest + env: + CWD: "rust" strategy: matrix: toolchain: @@ -24,9 +26,20 @@ jobs: - run: rustup update ${{ matrix.toolchain }} - run: rustup default ${{ matrix.toolchain }} - run: rustup component add clippy - - run: cd rust && cargo clippy --all-features -- -Dwarnings - - run: cd rust && cargo build --verbose - - run: cd rust && cargo test --verbose - - run: cd rust && cargo test --verbose --lib --bins --tests --features serde_derive - - run: cd rust && cargo test --verbose --lib --bins --tests --no-default-features --features storage - - run: cd rust && cargo test --verbose --all-features + - run: cargo install cargo-readme + - run: cargo readme > README.md + working-directory: ${{ env.CWD }} + - run: cargo clippy --all-features -- -Dwarnings + working-directory: ${{ env.CWD }} + - run: cargo build --verbose + working-directory: ${{ env.CWD }} + - name: "is docs updated and generated files are committed" + run: exit $(git status --porcelain | wc -l) + - run: cargo test --verbose + working-directory: ${{ env.CWD }} + - run: cargo test --verbose --lib --bins --tests --features serde_derive + working-directory: ${{ env.CWD }} + - run: cargo test --verbose --lib --bins --tests --no-default-features --features storage + working-directory: ${{ env.CWD }} + - run: cargo test --verbose --all-features + working-directory: ${{ env.CWD }} diff --git a/.github/workflows/rust-publish.yml b/.github/workflows/rust-publish.yml index 72f2228..e97e73e 100644 --- a/.github/workflows/rust-publish.yml +++ b/.github/workflows/rust-publish.yml @@ -11,8 +11,8 @@ jobs: name: cargo publish runs-on: ubuntu-latest env: - CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} - CWD: "rust" + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + CWD: "rust" steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 diff --git a/rust/README.md b/rust/README.md index f49ed30..101f90e 100644 --- a/rust/README.md +++ b/rust/README.md @@ -1,13 +1,24 @@ -# kuliya for Rust +# kuliya -Algeria's college hierarchy dataset as Cargo package +Algeria's college hierarchy dataset as a crate with useful APIs. -# Get started +Example -WIP +```rust +use kuliya::r#static::api::get_node_by_path; -# Contribute +let faculty_of_science_and_technology = get_node_by_path("umkb/fst"); -Please install Rust compiler using https://rustup.rs/ +assert_eq!(faculty_of_science_and_technology.is_some(), true); -Feel free to ask for help in [#kuliya](https://dzcode.slack.com/archives/C01C0155CKC) group chat +let faculty_of_science_and_technology = faculty_of_science_and_technology.unwrap(); + +assert_eq!(faculty_of_science_and_technology.name.ar, "كلية العلوم والتكنلوجيا"); + +// when the path is not found, the function returns None +let non_existing_node = get_node_by_path("umkb/fst/unknown"); + +assert_eq!(non_existing_node.is_none(), true); +``` + +License: MIT