diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5dd0724..70b2a9f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: clippy: name: Clippy runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 30 steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master @@ -37,6 +37,7 @@ jobs: fmt: name: Rust fmt runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master @@ -47,6 +48,7 @@ jobs: deny: runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: EmbarkStudios/cargo-deny-action@v2 @@ -54,7 +56,7 @@ jobs: doc: name: Documentation runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 30 env: RUSTDOCFLAGS: -Dwarnings steps: @@ -63,24 +65,39 @@ jobs: with: toolchain: stable components: rustfmt - - run: cargo doc --color=always --verbose --no-deps + - run: cargo doc --all-features --color=always --verbose --workspace --no-deps build: runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 30 steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: stable components: rustc-dev - - run: cargo check --benches --all-features --release + - run: cargo check --workspace --tests --all-features --release + + doc_test: + name: Doc tests + needs: build + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: llvm-tools, rustc-dev + - run: > + cargo test --doc + --verbose --color always + --workspace --no-fail-fast test: name: Tests needs: build runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 30 steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@nightly diff --git a/README.md b/README.md index aa48ac5..3a24ef6 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,18 @@ ProSA - **Pro**tocol **S**ervice **A**daptor ============================== -ProSA is a merge of multiple [Worldline](https://worldline.com/) internal product concepts caviarized to be released as a [Rust](https://www.rust-lang.org/) open-source. +[github](https://github.com/worldline/ProSA) +[crates-io](https://crates.io/crates/prosa) +[docs-rs](https://docs.rs/prosa) +[mdbook](https://worldline.github.io/ProSA/) +[build status](https://github.com/worldline/ProSA/actions?query=branch%3Amain) +[dependency status](https://deps.rs/repo/github/worldline/ProSA) + +ProSA is a merge of multiple [Worldline](https://worldline.com/) internal product concepts caviarized to be released as a [🦀 Rust](https://www.rust-lang.org/) open-source. The library aimed at providing a simple and lightweight protocol service adaptor for service oriented architectures. The goal of this project is to provide a flexible and scalable platform for developing and deploying microservices, allowing developers to focus on writing business logic while ProSA takes care of the underlying infrastructure concers. -A [ProSA mdBook](https://worldline.github.io/ProSA/) is available if you want to learn everything about ProSA. +A [📖 ProSA mdBook](https://worldline.github.io/ProSA/) is available if you want to learn everything about ProSA. ## Legend @@ -16,7 +23,6 @@ ProSA components are illustrated: - Settings: [settings](https://docs.rs/prosa/latest/prosa/core/settings/ "settings") - Adaptor: [adaptor](https://docs.rs/prosa/latest/prosa/core/adaptor/ "adaptor") - ## Service approach ProSA is made to empower SOA (*S*ervice *O*riented *A*rchitecture). @@ -47,7 +53,6 @@ flowchart LR proc -- internal service message --> bus ``` - ## Getting Started Everything you need to know about ProSA components is describe in the [Docs.rs](https://docs.rs/prosa/latest/prosa/) documentation. @@ -72,7 +77,6 @@ flowchart LR settings --> Processor ``` - ## Deploying ProSA is not a full product that you can run. @@ -81,7 +85,6 @@ It's intended to be a framework to run processors that offer/consume services. So ProSA needs to be built with a set of processors (internal or external) to work. To build one, please refer to [cargo-prosa](./cargo-prosa/README.md). - ## Processor list ### Worldline diff --git a/prosa_book/book.toml b/prosa_book/book.toml index baab0e7..b240701 100644 --- a/prosa_book/book.toml +++ b/prosa_book/book.toml @@ -1,9 +1,8 @@ [book] authors = ["Jeremy HERGAULT ", "Anthony THOMAS ", "Olivier SCHYNS ", "Rene-Louis EYMARD "] -language = "en" -multilingual = false -src = "src" title = "ProSA - Protocol Service Adaptor" +src = "src" +language = "en" [preprocessor.mermaid] command = "mdbook-mermaid" @@ -11,5 +10,4 @@ command = "mdbook-mermaid" [output.html] additional-css = ["worldline.css"] git-repository-url = "https://github.com/worldline/ProSA" -git-repository-icon = "fa-github" additional-js = ["mermaid.min.js", "mermaid-init.js"] diff --git a/prosa_book/src/ch00-00-prosa.md b/prosa_book/src/ch00-00-prosa.md index 5e84e78..f6512c6 100644 --- a/prosa_book/src/ch00-00-prosa.md +++ b/prosa_book/src/ch00-00-prosa.md @@ -22,4 +22,4 @@ In fact, ProSA contains no direct references to Worldline's private properties. ## Version -This book is intended for version 0.3.0 of ProSA. +This book is intended for version 0.4.0 of ProSA.