adorsys / didcomm-mediator-rs

Simple mediator for DIDComm Messaging v2
Apache License 2.0
4 stars 0 forks source link

Release and Distribution Management Concept for DIDComm Messaging E5 #249

Open ndefokou opened 1 week ago

ndefokou commented 1 week ago

Description:

This task involves preparing and releasing the DIDComm Rust project on crates.io for public distribution. The release process includes verifying metadata, adding documentation, following crates.io guidelines, and publishing the crate to ensure easy installation and use by others in the Rust ecosystem.

Objectives:

  1. Prepare Project Metadata:

    • Review and update Cargo.toml with all required fields, including name, version, authors, license, description, repository, and other relevant metadata.
    • Ensure that the project meets crates.io’s standards for public release.
  2. Complete Documentation:

    • Write or update the README.md with an overview, installation steps, usage examples, and contribution guidelines.
    • Add documentation comments to all public-facing modules, structs, functions, and traits to generate comprehensive API documentation via cargo doc.
  3. Establish Versioning and Licensing:

    • Set an initial version for the release (e.g., 0.1.0) and ensure that it follows Semantic Versioning.
    • Add a suitable license file in the root directory, such as LICENSE-MIT or LICENSE-APACHE, and include the chosen license in Cargo.toml.
  4. Validate and Test Release Artifacts:

    • Run cargo build, cargo test, and cargo package to verify that the project builds and packages correctly without errors.
    • Run cargo publish --dry-run to check for any issues before the actual publish step.
  5. Publish Crate on Crates.io:

    • Use cargo publish to release the crate to crates.io.
    • Verify that the crate is accessible on crates.io with correct metadata, documentation, and README displayed as intended.
  6. Post-Release Verification:

    • Confirm that the crate can be added to a new project via cargo add <crate-name>.
    • Test the installation and basic functionality to ensure users can integrate the crate successfully.

Acceptance Criteria: