Skip to content
Open
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
12 changes: 6 additions & 6 deletions .github/workflows/ci-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ jobs:
- uses: actions-rs/cargo@v1
with:
command: build
args: --no-default-features --features async-std,strict,${{ matrix.features }}
args: -p unleash-api-client --no-default-features --features async-std,strict,${{ matrix.features }}

- uses: actions-rs/cargo@v1
with:
command: test
args: --no-default-features --features async-std,strict,${{ matrix.features }}
args: -p unleash-api-client --no-default-features --features async-std,strict,${{ matrix.features }}

clippy:
runs-on: ubuntu-latest
Expand All @@ -58,13 +58,13 @@ jobs:
- uses: actions-rs/cargo@v1
with:
command: build
args: --features strict,async-std,reqwest-client,reqwest-client-rustls,reqwest-client-11,reqwest-client-11-rustls --all-targets
args: -p unleash-api-client --features strict,async-std,reqwest-client,reqwest-client-rustls,reqwest-client-11,reqwest-client-11-rustls --all-targets

- uses: actions-rs/cargo@v1
# We test with approximately all-features to ensure that that does build
with:
command: test
args: --features strict,async-std,reqwest-client,reqwest-client-rustls,reqwest-client-11,reqwest-client-11-rustls --all-targets
args: -p unleash-api-client --features strict,async-std,reqwest-client,reqwest-client-rustls,reqwest-client-11,reqwest-client-11-rustls --all-targets

- uses: actions-rs/cargo@v1
with:
Expand All @@ -74,7 +74,7 @@ jobs:
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --features strict,async-std,reqwest-client,reqwest-client-rustls,reqwest-client-11,reqwest-client-11-rustls --all-targets -- -D warnings
args: -p unleash-api-client --features strict,async-std,reqwest-client,reqwest-client-rustls,reqwest-client-11,reqwest-client-11-rustls --all-targets -- -D warnings

msrv:
runs-on: ubuntu-latest
Expand All @@ -100,4 +100,4 @@ jobs:
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --no-default-features
args: --release --no-default-features
18 changes: 6 additions & 12 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,13 @@ on:
jobs:
publish:
runs-on: ubuntu-latest

name: "publish"

# Reference your environment variables
name: publish
environment: cargo

steps:
- uses: actions/checkout@master

- name: Run publish-action
uses: tu6ge/publish-action@v0.4.6
- uses: actions/checkout@v4
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: dtolnay/rust-toolchain@stable
- name: Publish unleash-api-client
run: cargo publish --manifest-path crates/unleash-api-client/Cargo.toml
env:
# This can help you tagging the github repository
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# This can help you publish to crates.io
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
112 changes: 8 additions & 104 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,104 +1,8 @@
[package]
name = "unleash-api-client"
version = "0.15.0"
authors = ["Robert Collins <robert.collins@cognite.com>"]
edition = "2021"
rust-version = "1.83"
description = "An API client for https://www.getunleash.io/"
readme = "README.md"
homepage = "https://github.com/Unleash/unleash-rust-sdk/"
repository = "https://github.com/Unleash/unleash-rust-sdk/"
license = "Apache-2.0"
keywords = ["continualdeployment"]
categories = ["api-bindings", "web-programming"]
default-run = "dump-features"

[lib]
bench = false

[[bin]]
bench = false
name = "dump-features"
path = "src/bin/dump-features.rs"
required-features = ["async-std", "reqwest-client"]

[[bench]]
harness = false
name = "is_enabled"

[dependencies]
anyhow = "1.0.44"
arc-swap = "1.4.0"
async-std = { version = "1.13.1", optional = true }
async-trait = "0.1.56"
cfg-if = "1.0.0"
enum-map = "2.7.3"
futures-timer = "3.0.2"
hostname = "0.4.1"
ipnet = "2.3.1"
log = "0.4.14"
murmur3 = "0.5.1"
rand = "0.9.1"
rustversion = "1.0.7"
semver = { version = "1.0.26", features = ["serde"] }
serde_json = "1.0.68"
serde_plain = "1.0.0"
unleash-types = "=0.15.22"
unleash-yggdrasil = { version = "0.21.0", features = ["hostname"] }
uuid = { version = "1.11.0", features = ["v4"] }

[dependencies.chrono]
version = "0.4.41"
default-features = false
features = ["clock", "serde"]

[dependencies.reqwest]
version = "0.12"
default-features = false
features = ["json"]
optional = true

[dependencies.reqwest-11]
version = "0.11"
default-features = false
features = ["json"]
optional = true
package = "reqwest"

[dependencies.serde]
version = "1.0.219"
features = ["derive"]

[dev-dependencies]
criterion = "0.6.0" # Remember to update audit.toml
futures = "0.3.17"
maplit = "1.0.2"
num_cpus = "1.13.0"
regex = "1.9.6"
simple_logger = "5.0.0"

[dev-dependencies.tokio]
version = "1.12.0"
features = ["macros", "rt-multi-thread", "time"]

[badges]
[badges.maintenance]
status = "experimental"

[features]
# Enable async-std for tests and dump-features
async-std = ["dep:async-std"]
# Enable backtrace feature in anyhow
backtrace = ["anyhow/backtrace"]
# Force clients to make a choice about which client to use
default = []
# Enable the functional test suite
functional = []
# Built in HTTP clients
reqwest-client = ["reqwest", "reqwest?/default-tls"]
reqwest-client-11 = ["reqwest-11", "reqwest-11?/default-tls"]
# For users that don't want to depend on OpenSSL.
reqwest-client-11-rustls = ["reqwest-11", "reqwest-11?/rustls-tls"]
reqwest-client-rustls = ["reqwest", "reqwest?/rustls-tls"]
# To error if an unsupported API feature is present
strict = []
[workspace]
resolver = "2"
members = [
"crates/unleash-api-client",
]
default-members = [
"crates/unleash-api-client",
]
104 changes: 104 additions & 0 deletions crates/unleash-api-client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
[package]
name = "unleash-api-client"
version = "0.15.0"
authors = ["Robert Collins <robert.collins@cognite.com>"]
edition = "2021"
rust-version = "1.83"
description = "An API client for https://www.getunleash.io/"
readme = "README.md"
homepage = "https://github.com/Unleash/unleash-rust-sdk/"
repository = "https://github.com/Unleash/unleash-rust-sdk/"
license = "Apache-2.0"
keywords = ["continualdeployment"]
categories = ["api-bindings", "web-programming"]
default-run = "dump-features"

[lib]
bench = false

[[bin]]
bench = false
name = "dump-features"
path = "src/bin/dump-features.rs"
required-features = ["async-std", "reqwest-client"]

[[bench]]
harness = false
name = "is_enabled"

[dependencies]
anyhow = "1.0.44"
arc-swap = "1.4.0"
async-std = { version = "1.13.1", optional = true }
async-trait = "0.1.56"
cfg-if = "1.0.0"
enum-map = "2.7.3"
futures-timer = "3.0.2"
hostname = "0.4.1"
ipnet = "2.3.1"
log = "0.4.14"
murmur3 = "0.5.1"
rand = "0.9.1"
rustversion = "1.0.7"
semver = { version = "1.0.26", features = ["serde"] }
serde_json = "1.0.68"
serde_plain = "1.0.0"
unleash-types = "=0.15.22"
unleash-yggdrasil = { version = "0.21.0", features = ["hostname"] }
uuid = { version = "1.11.0", features = ["v4"] }

[dependencies.chrono]
version = "0.4.41"
default-features = false
features = ["clock", "serde"]

[dependencies.reqwest]
version = "0.12"
default-features = false
features = ["json"]
optional = true

[dependencies.reqwest-11]
version = "0.11"
default-features = false
features = ["json"]
optional = true
package = "reqwest"

[dependencies.serde]
version = "1.0.219"
features = ["derive"]

[dev-dependencies]
criterion = "0.6.0" # Remember to update audit.toml
futures = "0.3.17"
maplit = "1.0.2"
num_cpus = "1.13.0"
regex = "1.9.6"
simple_logger = "5.0.0"

[dev-dependencies.tokio]
version = "1.12.0"
features = ["macros", "rt-multi-thread", "time"]

[badges]
[badges.maintenance]
status = "experimental"

[features]
# Enable async-std for tests and dump-features
async-std = ["dep:async-std"]
# Enable backtrace feature in anyhow
backtrace = ["anyhow/backtrace"]
# Force clients to make a choice about which client to use
default = []
# Enable the functional test suite
functional = []
# Built in HTTP clients
reqwest-client = ["reqwest", "reqwest?/default-tls"]
reqwest-client-11 = ["reqwest-11", "reqwest-11?/default-tls"]
# For users that don't want to depend on OpenSSL.
reqwest-client-11-rustls = ["reqwest-11", "reqwest-11?/rustls-tls"]
reqwest-client-rustls = ["reqwest", "reqwest?/rustls-tls"]
# To error if an unsupported API feature is present
strict = []
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading