diff --git a/pages/docs/device-app/develop/tutorials/rust.mdx b/pages/docs/device-app/develop/tutorials/rust.mdx index 9a79853e..9cafb139 100644 --- a/pages/docs/device-app/develop/tutorials/rust.mdx +++ b/pages/docs/device-app/develop/tutorials/rust.mdx @@ -1,20 +1,33 @@ import { Callout} from 'nextra/components' +# The `Rust` 🦀 boilerplate application -# The `Rust` boilerplate application +The `Rust` Boilerplate application is taylored to showcase both the capabilities of the Ledger Device `Rust` [SDK](https://github.com/LedgerHQ/ledger-device-rust-sdk/tree/master) +(also published on [crates.io](https://crates.io/crates/ledger_device_sdk)) and our development environment ([Docker containers](https://github.com/LedgerHQ/ledger-app-builder), +[device emulator](https://github.com/LedgerHQ/speculos), [test framework](https://github.com/LedgerHQ/ragger)). - - This section is still a Work In Progress, as the `Rust` SDK is not yet stable and fully integrated in our - production environment. - - -The `Rust` Boilerplate application is taylored to showcase both the capabilities of the Ledger Secure `Rust` SDK and our -development environment and tools. - -By cloning this application, you should find extensive examples on how to managed APDU communication, declare UI flows, -use cryptographic APIs, but also how to integrate into our build and test environment, and how to deploy your -application. +By cloning this application, you should find extensive examples on how to manage APDU communication, declare UI flows, +use cryptographic APIs, but also how to integrate into our build and test environment. With very little changes, you should be able to quickly have an application of your own. [Click here](https://github.com/LedgerHQ/app-boilerplate-rust) to fork the repository and start your project. + +## Continuous Integration (CI) + +In the Rust boilerplate application repository you will find [a list of workflows](https://github.com/LedgerHQ/app-boilerplate-rust/tree/main/.github/workflows) +to set up an efficient CI pipeline for your project. + +Two of them are mandatory to submit your device application for review: +- [Coding Style Check](https://github.com/LedgerHQ/app-boilerplate-rust/blob/main/.github/workflows/coding_style_checks.yml): +this workflow runs linting checks to ensure a proper level of code quality among all Ledger applications, +- [Guidelines_enforcer](https://github.com/LedgerHQ/app-boilerplate/blob/master/.github/workflows/guidelines_enforcer.yml): + this workflow calls a reusable workflow developed by Ledger's internal developer team. + +The [Build and Run functional tests](https://github.com/LedgerHQ/app-boilerplate-rust/blob/main/.github/workflows/build_and_functional_tests.yml) workflow +is highly recommended: it builds the app and then runs functional tests using the [Ragger](https://github.com/LedgerHQ/ragger) framework upon [Speculos](https://github.com/LedgerHQ/speculos) +emulation. + +Having functional testing on your application is mandatory and this workflow and tooling environment is meant to be easy to use and + adapt after forking the boilerplate application +