Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release and Distribution Management Concept for DIDComm Messaging E5 #249

Open
4 of 5 tasks
ndefokou opened this issue Nov 13, 2024 · 0 comments · Fixed by #262 · May be fixed by #266
Open
4 of 5 tasks

Release and Distribution Management Concept for DIDComm Messaging E5 #249

ndefokou opened this issue Nov 13, 2024 · 0 comments · Fixed by #262 · May be fixed by #266
Assignees

Comments

@ndefokou
Copy link
Collaborator

ndefokou commented Nov 13, 2024

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:

  • Cargo.toml is complete and accurate, with all necessary metadata.
  • Documentation (README.md and API docs) is comprehensive and up to date.
  • Project builds, tests, and packages without errors.
  • Crate is successfully published to crates.io and verified through test installation.
  • Crate listing on crates.io is accurate and complete, with proper documentation.
@chendiblessing chendiblessing changed the title Implement Distribution Management for DIDComm Messaging Implement Distribution Management for DIDComm Messaging E5 Nov 13, 2024
@chendiblessing chendiblessing changed the title Implement Distribution Management for DIDComm Messaging E5 Release and Distribution Management for DIDComm Messaging E5 Nov 13, 2024
@chendiblessing chendiblessing changed the title Release and Distribution Management for DIDComm Messaging E5 Release and Distribution Management Concept for DIDComm Messaging E5 Nov 13, 2024
@Blindspot22 Blindspot22 self-assigned this Nov 14, 2024
@Blindspot22 Blindspot22 linked a pull request Nov 18, 2024 that will close this issue
@Blindspot22 Blindspot22 reopened this Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants