Skip to content

chore: Update tracing and rusty-sidekiq dependencies #1893

chore: Update tracing and rusty-sidekiq dependencies

chore: Update tracing and rusty-sidekiq dependencies #1893

Workflow file for this run

name: Checks
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
# https://stackoverflow.com/a/72408109
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test-examples:
name: Test examples
runs-on: ubuntu-latest
services:
postgres:
image: postgres:18.0-alpine3.22
ports:
- 5432:5432
env:
POSTGRES_DB: example_dev
POSTGRES_PASSWORD: roadster
POSTGRES_USER: roadster
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
redis:
image: redis:8.2.2-alpine
ports:
- 6379:6379
options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5
smtp:
image: axllent/mailpit:v1.27.10
ports:
- 8025:8025
- 1025:1025
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
# protoc is needed to build examples that have grpc enabled
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: just,protoc
- name: Test
run: just test-examples
test-private:
name: Test private
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: just
- name: Test
run: just test-private
test-bench:
name: Test benches
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: just
- name: Test
run: just test-bench
generate_feature_matrix:
runs-on: ubuntu-latest
outputs:
data: ${{ steps.build_data.outputs.data }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Build powerset data
id: build_data
run: |
cd private/powerset_matrix
echo "data=$(cargo run -- -d 1 -s 8 -f json)" >> "$GITHUB_OUTPUT"
test_matrix:
needs: generate_feature_matrix
runs-on: ubuntu-latest
strategy:
max-parallel: 10
matrix:
index: ${{ fromJson(needs.generate_feature_matrix.outputs.data).indexes }}
env:
features: ${{ join(fromJson(needs.generate_feature_matrix.outputs.data).powersets[ matrix.index ], ' ') }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: cargo-hack,nextest
- name: Test
run: |
features=($features)
length=${#features[@]}
i=1
for feature_list in "${features[@]}"; do
echo "::group::[$i/$length]: cargo nextest run --no-fail-fast --no-default-features --locked --features $feature_list"
cargo nextest run --no-fail-fast --no-default-features --locked --features "$feature_list"
echo "::endgroup::"
echo "::group::[$i/$length]: cargo test --doc --no-fail-fast --no-default-features --locked --features $feature_list"
cargo test --doc --no-fail-fast --no-default-features --locked --features "$feature_list"
cargo clean -p roadster
i=$(expr $i + 1)
echo "::endgroup::"
done
test:
name: Tests
needs: test_matrix
runs-on: ubuntu-latest
steps:
- run: echo Success
doc_test:
name: Doc tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: cargo-hack
- name: Doc test
run: cargo hack test --doc --no-fail-fast --locked --each-feature --log-group github-actions
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: cargo-hack
- name: Check
run: cargo hack check --locked --each-feature --log-group github-actions
clippy_matrix:
needs: generate_feature_matrix
runs-on: ubuntu-latest
strategy:
max-parallel: 10
matrix:
index: ${{ fromJson(needs.generate_feature_matrix.outputs.data).indexes }}
env:
features: ${{ join(fromJson(needs.generate_feature_matrix.outputs.data).powersets[ matrix.index ], ' ') }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: cargo-hack
- name: Clippy
run: |
features=($features)
length=${#features[@]}
i=1
for feature_list in "${features[@]}"; do
echo "::group::[$i/$length]: cargo clippy --no-default-features --locked --features $feature_list -- -D warnings"
cargo clippy --no-default-features --locked --features "$feature_list" -- -D warnings
cargo clean -p roadster
i=$(expr $i + 1)
echo "::endgroup::"
done
clippy:
name: Clippy
needs: clippy_matrix
runs-on: ubuntu-latest
steps:
- run: echo Success
deny:
name: Deny
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: EmbarkStudios/cargo-deny-action@76cd80eb775d7bbbd2d80292136d74d39e1b4918
with:
command: check
arguments: "--all-features --locked"
command-arguments: "-A duplicate advisories ban sources"
# https://doc.rust-lang.org/cargo/guide/continuous-integration.html#verifying-rust-version
msrv:
name: Check MSRV
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: cargo-hack
- run: cargo hack check --rust-version --all-targets --ignore-private --log-group github-actions
# https://doc.rust-lang.org/cargo/guide/continuous-integration.html#verifying-rust-version
minimal_direct_deps:
name: Direct dep min version check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: rui314/setup-mold@7344740a9418dcdcb481c7df83d9fbd1d5072d7d
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: cargo-hack,cargo-minimal-versions
- run: cargo minimal-versions check --direct --all-features
check_formatting:
name: Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- name: Formatting
run: cargo fmt --all --check
check_docs:
name: Docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6
- uses: taiki-e/install-action@d31232495ad76f47aad66e3501e47780b49f0f3e
with:
tool: just,cargo-hack
- name: Install zsh
run: sudo apt install -y zsh
- name: Docs all features
# Our justfile requires zsh
shell: zsh {0}
run: just check-docs
- name: Docs each feature
env:
RUSTDOCFLAGS: "-D rustdoc::all -A rustdoc::private_intra_doc_links"
run: cargo hack doc --locked --ignore-private --log-group github-actions --each-feature --no-deps