Skip to content

fix(storage): fix ConcurrentQueue condvar race and spurious wakeups (… #841

fix(storage): fix ConcurrentQueue condvar race and spurious wakeups (…

fix(storage): fix ConcurrentQueue condvar race and spurious wakeups (… #841

Workflow file for this run

name: CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
RUSTFLAGS: -Dwarnings
RUST_BACKTRACE: 1
CI: true
DEFAULT_FEATURES: "std,serde,miette"
defaults:
run:
shell: bash
jobs:
typos:
name: Spell Check
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.29.4
toml:
name: TOML Check
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: taiki-e/install-action@v2
with:
tool: taplo-cli@0.9.3
- run: taplo fmt --check --diff
fmt:
name: Format Check
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: cargo fmt --check
clippy:
name: Clippy Check
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: cargo clippy --tests --features ${{ env.DEFAULT_FEATURES }} --no-deps
machete:
name: Machete Check
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: bnjbvr/cargo-machete@main
deny:
name: Deny Check
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v2
build:
needs: [ typos, toml, fmt, clippy, machete, deny ]
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
name: Build on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: Swatinem/rust-cache@v2
- run: cargo build --features ${{ env.DEFAULT_FEATURES }}
build_no_std:
needs: [ typos, toml, fmt, clippy, machete, deny ]
name: Build gql-parser in no_std mode
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rust-src
- run: rustup target add aarch64-unknown-none
- uses: Swatinem/rust-cache@v2
- run: cargo build -p gql-parser --target aarch64-unknown-none --no-default-features -Zbuild-std=core,alloc
test:
needs: [ typos, toml, fmt, clippy, machete, deny ]
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
name: Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: taiki-e/install-action@v2
with:
tool: cargo-nextest@0.9.88
- uses: Swatinem/rust-cache@v2
- run: cargo nextest run --features ${{ env.DEFAULT_FEATURES }}
- run: cargo test --features ${{ env.DEFAULT_FEATURES }} --doc
docs:
name: Build Docs
needs: [ typos, toml, fmt, clippy, machete, deny ]
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: cargo doc --lib --no-deps --features ${{ env.DEFAULT_FEATURES }}