Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,26 @@ jobs:
- run: cargo test --workspace --doc
- run: cargo clippy --all-targets --all-features -- -D warnings
- run: RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
- name: Audit dependencies, licenses, and sources
uses: EmbarkStudios/cargo-deny-action@3c6349835b2b7b196a839186cb8b78e02f7b5f25
- name: Verify package contents
run: |
for package in \
api_clients_core \
stonfi_api_client \
dedust_api_client \
swap_coffee_api_client \
tonco_api_client \
bidask_api_client
tonco_api_client
do
cargo package --list -p "$package"
done

msrv:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install MSRV toolchain
uses: dtolnay/rust-toolchain@1.88.0
- uses: Swatinem/rust-cache@v2
- run: cargo check --workspace --all-targets --all-features
11 changes: 11 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_sha || github.sha }}
- name: Verify the checked-out commit passed CI
if: github.event_name == 'workflow_run'
env:
TESTED_SHA: ${{ github.event.workflow_run.head_sha }}
run: |
checked_out_sha=$(git rev-parse HEAD)
if [ "$checked_out_sha" != "$TESTED_SHA" ]; then
echo "::error::Refusing to release untested commit $checked_out_sha; Build-Test passed for $TESTED_SHA"
exit 1
fi
- uses: Swatinem/rust-cache@v2
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down
31 changes: 21 additions & 10 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,18 @@ Root guidance applies to the whole workspace. Also read the crate-local

## Workspace Crates

- `api_clients_core` (`core/`): shared HTTP executor, retry setup, and common
error/result types.
- `stonfi_api_client`: REST wrapper for STON.fi API v1 and public export endpoints.
- `dedust_api_client`: REST wrapper for DeDust API v2.
- `swap_coffee_api_client`: REST wrapper for Swap Coffee API v1.
- `tonco_api_client`: GraphQL wrapper for Tonco Indexer.
- `bidask_api_client`: unsupported legacy Bidask crate; it is intentionally
excluded from publishing and should not be recommended for final-app
integration.
- `api_clients_core` (`crates/core/`): shared HTTP executor, retry setup, and
common error/result types.
- `stonfi_api_client` (`crates/stonfi/`): REST wrapper for STON.fi API v1 and
public export endpoints.
- `dedust_api_client` (`crates/dedust/`): REST wrapper for DeDust API v2.
- `swap_coffee_api_client` (`crates/swap_coffee/`): REST wrapper for Swap Coffee
API v1.
- `tonco_api_client` (`crates/tonco_api_client/`): GraphQL wrapper for Tonco
Indexer.
- `bidask_api_client` (`crates/bidask/`): unsupported legacy Bidask crate; it is
intentionally excluded from publishing and should not be recommended for
final-app integration.

## Project Goals

Expand Down Expand Up @@ -59,6 +62,10 @@ release-plz in CI. Do not treat unchanged crate versions on a feature branch as
a release-readiness finding unless the user explicitly asks for a manual
release-prep change.

The workspace MSRV is Rust 1.88. Dependency changes must preserve it and pass
the dedicated MSRV CI job. The release workflow must refuse to process a
default-branch commit other than the exact SHA that completed `Build-Test`.

Public structs and enums are generally marked `#[non_exhaustive]` to preserve
semver headroom for new fields and variants. Use
`Default::default().with_<field>(...)` or request parameter constructors in
Expand Down Expand Up @@ -183,8 +190,12 @@ cargo test -p <changed-crate> --tests
cargo test
cargo +nightly fmt
cargo clippy --all-targets --all-features -- -D warnings
cargo +1.88.0 check --workspace --all-targets --all-features
cargo deny check
git diff --check
```

Use `RUSTDOCFLAGS="-D warnings" cargo doc --no-deps` when rustdoc or public API
documentation changed.
documentation changed. Use `cargo semver-checks check-release --workspace` for
intentional breaking releases and review the release-plz version bumps plus all
README dependency snippets before publishing.
Loading
Loading