1
0
mirror of https://github.com/actix/actix-extras.git synced 2025-02-23 10:53:02 +01:00
Nishant Joshi 410852f9b0
add support for UUID v7 in RequestId (#116)
* feat(request_id): add support for UUID v7 in `RequestId`

feature flag `uuid_v7` is introduced which inturn enables `v7` feature flag in the `uuid` dependency
Support documentation is added in `README.md`, `src/lib.rs` and `src/request_id.rs`

This feature only works if this crate or any crate dependent on this crate has enabled the compile time configuration flag provided to the rust compiler. `RUSTFLAGS="--cfg uuid_unstable"`.

* chore: add github action to test UUID v7 feature flag

* chore: add the uuid_unstable cfg in the request id impl

* chore: add compiler_error for undesired state in configuration flags

* chore: move the compiler error in request_id module

* chore: fix formatting

* fix(action): fix github action for uuid_v7 with RUSTDOCFLAGS
2023-10-20 09:01:11 +02:00

136 lines
3.2 KiB
YAML

name: Rust
on:
push:
branches:
- main
pull_request:
types: [ opened, synchronize, reopened ]
branches:
- main
env:
CARGO_TERM_COLOR: always
jobs:
test_without_otel:
name: Test
runs-on: ubuntu-latest
env:
# Fail the build if there are warnings
RUSTFLAGS: "-D warnings"
steps:
- uses: actions/checkout@v2
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: test
test_with_otel:
name: Test
runs-on: ubuntu-latest
env:
# Fail the build if there are warnings
RUSTFLAGS: "-D warnings"
strategy:
matrix:
otel_version:
- opentelemetry_0_13
- opentelemetry_0_14
- opentelemetry_0_15
- opentelemetry_0_16
- opentelemetry_0_17
- opentelemetry_0_18
- opentelemetry_0_19
- opentelemetry_0_20
steps:
- uses: actions/checkout@v2
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: test
args: --features ${{ matrix.otel_version }}
test_uuid_v7:
name: Test
runs-on: ubuntu-latest
env:
RUSTFLAGS: "--cfg uuid_unstable"
RUSTDOCFLAGS: "--cfg uuid_unstable"
steps:
- uses: actions/checkout@v2
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: test
args: --features uuid_v7
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: clippy
override: true
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: -- -D warnings