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
35 changes: 31 additions & 4 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,16 @@ jobs:
with:
toolchain: ${{ matrix.rust }}
- name: Build
# Keep transitive compatibility constraints out of the library manifest.
if: matrix.rust != '1.74.0'
run: cargo build -p featurevisor --all-features
- name: Build on the minimum compiler
if: matrix.rust == '1.74.0'
run: |
cargo update -p psm --precise 0.1.26
cargo build --locked -p featurevisor --all-features
- name: Test
run: cargo test -p featurevisor --all-features
run: cargo test --locked -p featurevisor --all-features
- name: Format and lint
if: matrix.rust == 'stable'
run: |
Expand All @@ -53,15 +60,35 @@ jobs:
toolchain: ${{ matrix.rust }}
- name: Build and test provider
run: |
cargo build -p featurevisor-openfeature
cargo test -p featurevisor-openfeature
cargo build --locked -p featurevisor-openfeature
cargo test --locked -p featurevisor-openfeature
- name: Format, lint, and document
if: matrix.rust == 'stable'
run: |
cargo fmt --all -- --check
cargo clippy -p featurevisor-openfeature --all-targets -- -D warnings
cargo doc -p featurevisor-openfeature --no-deps

dependency-errors:
name: Silent dependency errors and callback thread affinity
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@stable
- name: Check unwind and abort profile subprocesses
run: cargo test --locked -p featurevisor --test dependency_failures

consumer:
name: Consumer with current stacker
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@stable
- name: Resolve and build outside the repository workspace
run: bash scripts/check-stacker-consumer.sh

example:
name: Featurevisor example 1
runs-on: ubuntu-latest
Expand All @@ -78,7 +105,7 @@ jobs:
run: |
mkdir example-1
cd example-1
npx --yes @featurevisor/cli@3 init --example=1
npx --yes @featurevisor/cli@latest init --example=1
npm install
npx featurevisor build
npx featurevisor test --onlyFailures
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
run: |
mkdir example-1
cd example-1
npx --yes @featurevisor/cli@3 init --example=1
npx --yes @featurevisor/cli@latest init --example=1
npm install
npx featurevisor build
npx featurevisor test --onlyFailures
Expand Down
49 changes: 47 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 8 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "featurevisor"
version = "1.2.0"
version = "2.0.0"
edition = "2021"
rust-version = "1.74.0"
description = "Featurevisor SDK for Rust: feature flags, experiments, and remote configuration"
Expand All @@ -12,7 +12,7 @@ repository = "https://github.com/featurevisor/featurevisor-rust"
authors = ["Fahad Heylaal"]
keywords = ["feature-flags", "featurevisor", "experimentation", "ab-testing", "remote-config"]
categories = ["config", "development-tools"]
exclude = ["/.github", "/Makefile", "/monorepo", "/example-1", "/featurevisor", "/openfeature"]
exclude = ["/.github", "/Makefile", "/monorepo", "/example-1", "/featurevisor", "/openfeature", "/tests", "/conformance", "/specs", "/scripts"]

[workspace]
members = ["openfeature"]
Expand All @@ -26,6 +26,7 @@ cli = ["dep:clap", "dep:uuid"]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
regex = "1"
stacker = "0.1.24"
chrono = { version = "0.4", default-features = false, features = ["std", "alloc"] }
clap = { version = "4.5", features = ["derive"], optional = true }
uuid = { version = "1.18", features = ["v4"], optional = true }
Expand All @@ -34,3 +35,8 @@ uuid = { version = "1.18", features = ["v4"], optional = true }
name = "featurevisor"
path = "src/bin/featurevisor.rs"
required-features = ["cli"]

[profile.dependency-abort]
# Used only by this repository's dependency smoke subprocess tests.
inherits = "dev"
panic = "abort"
Loading
Loading