feat: add crates.io publish workflow and complete publishing metadata - #4
Merged
Conversation
Bring the Rust client into compliance with the new "## Publishing" section of client_requirements.md (orchestration PR #7): - Add manually triggered (workflow_dispatch) `.github/workflows/rust-publish.yml` that publishes the crate to crates.io. It gates on fmt/clippy/build, runs a `cargo publish --dry-run` packaging check, then `cargo publish`. The registry token is read only from the CARGO_REGISTRY_TOKEN repository secret, with an early-fail guard; a `dry_run` input allows packaging-only runs. - Cargo.toml: add the strongly recommended `homepage` field so the crates.io listing carries complete publishing metadata. Also addresses documentation compliance items surfaced by review-client: - Add the required "experimental, AI-generated and AI-maintained" disclaimer to the crate rustdoc (src/lib.rs), README.md and docs/README.md, and reword the "official" wording (including the crates.io Cargo.toml `description`) to match. - Document `ApifyClientError::as_api_error` in the docs/README.md error-handling section with a runnable snippet. - Remove dangling reference-style Markdown link brackets around `apify_client::models` and `futures_util::StreamExt`. Bump version 0.2.1 -> 0.2.2 (non-breaking; packaging/CI/docs only) and add the CHANGELOG entry. All integration tests, 7 example smoke tests and 22 doctests pass; cargo fmt/clippy clean; cargo publish --dry-run packages cleanly.
Add a "Releasing" subsection to the Rust README "Versioning" section documenting the crates.io distribution mechanism and the manually-triggered rust-publish.yml workflow, so the Rust and Go sibling clients no longer diverge on release documentation. Record the change in CHANGELOG [0.2.2].
Pijukatel
force-pushed
the
claude/quirky-mccarthy-54hv8d
branch
from
June 22, 2026 14:03
9bb6b14 to
712d40f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings the Rust client into compliance with the new Publishing section recently added to the client requirements. The client is already on the latest OpenAPI spec (
v2-2026-06-18T095846Z) — this PR is a publishing/packaging/docs compliance change with no public-interface change.Changes
.github/workflows/rust-publish.yml, aworkflow_dispatch-triggered workflow that publishes the crate to crates.io (the Rust distribution standard). It gates oncargo fmt/clippy/build, runscargo publish --dry-run, thencargo publish. The registry token is read exclusively from theCARGO_REGISTRY_TOKENrepository secret (with an early-fail guard), and adry_runinput allows packaging-only runs.Cargo.tomlgains the recommendedhomepagefield; all other publishing metadata (name, version, description, license, repository, documentation, readme, keywords, categories) was already complete.README.md,docs/README.md, and the crate-level rustdoc insrc/lib.rs; "official" self-description softened accordingly.ApifyClientError::as_api_errorwith a runnable snippet; fixed dangling reference-style Markdown links indocs/.0.2.1→0.2.2(non-breaking; packaging/CI/docs only) and recorded the change inCHANGELOG.md.Verification
cargo fmt --all -- --checkandcargo clippy --all-targets -- -D warningsclean.cargo publish --dry-runpackages cleanly.Test examplesstep runs all 7 example programs end-to-end; 22 doctests pass.Developed via the orchestrated
create-client/review-clientloop until the review gate passed with no open items.Generated by Claude Code