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
55 changes: 55 additions & 0 deletions .github/workflows/codspeed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# SPDX-FileCopyrightText: 2025-2026 RAprogramm <andrey.rozanov.vl@gmail.com>
#
# SPDX-License-Identifier: MIT

name: CodSpeed

on:
push:
branches: [main]
pull_request:
# Allows CodSpeed to trigger backtest performance analysis
# in order to generate initial data.
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
contents: read
id-token: write # OpenID Connect authentication with CodSpeed

env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0

jobs:
codspeed:
name: Run benchmarks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable

- name: Cache
uses: Swatinem/rust-cache@v2
with:
shared-key: codspeed
save-if: ${{ github.ref == 'refs/heads/main' }}

- name: Install cargo-codspeed
uses: taiki-e/install-action@v2
with:
tool: cargo-codspeed

- name: Build the benchmark targets
run: cargo codspeed build -m simulation --features benchmarks

- name: Run the benchmarks
uses: CodSpeedHQ/action@v5
with:
mode: simulation
run: cargo codspeed run -m simulation
8 changes: 4 additions & 4 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -627,25 +627,25 @@ CI tests on MSRV (1.99) and stable to prevent accidental newer Rust usage.

**Minimal setup** (library use):
```toml
masterror = { version = "0.31.1", default-features = false }
masterror = { version = "0.32.0", default-features = false }
```

**HTTP service**:
```toml
masterror = { version = "0.31.1", features = ["std", "axum", "tracing"] }
masterror = { version = "0.32.0", features = ["std", "axum", "tracing"] }
```

**Full-stack service**:
```toml
masterror = { version = "0.31.1", features = [
masterror = { version = "0.32.0", features = [
"std", "axum", "sqlx", "reqwest", "redis",
"tracing", "metrics", "backtrace"
] }
```

**Rapid prototype**:
```toml
masterror = { version = "0.31.1", features = ["turnkey"] }
masterror = { version = "0.32.0", features = ["turnkey"] }
```

### Error Budget
Expand Down
179 changes: 108 additions & 71 deletions Cargo.lock

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

6 changes: 5 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ owo-colors = { version = "4", optional = true, default-features = false, feature

[dev-dependencies]
anyhow = { version = "1", default-features = false, features = ["std"] }
criterion = "0.8"
criterion = { version = "6.0.0", package = "codspeed-criterion-compat" }
serde_json = "1"
thiserror = "2"
tokio = { version = "1", features = [
Expand All @@ -169,6 +169,10 @@ harness = false
name = "comparison"
harness = false

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

[build-dependencies]
serde = { version = "1", features = ["derive"] }
toml = "1"
Expand Down
6 changes: 3 additions & 3 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,9 @@ SPDX-License-Identifier: MIT

~~~toml
[dependencies]
masterror = { version = "0.31.1", default-features = false }
masterror = { version = "0.32.0", default-features = false }
# or with features:
# masterror = { version = "0.31.1", features = [
# masterror = { version = "0.32.0", features = [
# "std", "axum", "actix", "openapi",
# "serde_json", "tracing", "metrics", "backtrace",
# "colored", "sqlx", "sqlx-migrate", "reqwest",
Expand Down Expand Up @@ -555,7 +555,7 @@ match mode {

~~~toml
[dependencies]
masterror = { version = "0.31.1", features = ["colored"] }
masterror = { version = "0.32.0", features = ["colored"] }
~~~

`colored` 기능 없이 오류는 `AppErrorKind` 레이블을 표시합니다:
Expand Down
Loading
Loading