nblf-queue 0.1.0

Atomic, wait-free MPMC queues based on the nblfq algorithm
Documentation
# This workflow checks whether the library is able to run without the std library (e.g., embedded).
# This entire file should be removed if this crate does not support no-std. See check.yml for
# information about how the concurrency cancellation and workflow triggering works
permissions:
  contents: read
on:
  push:
    branches: [main]
  pull_request:
concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true
name: no-std
jobs:
  nostd_pass:
    runs-on: ubuntu-latest
    name: ${{ matrix.target }}
    strategy:
      matrix:
        target: [aarch64-unknown-none]
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # tag=v6.0.2
        with:
          submodules: true
      - name: Install stable
        uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # branch=master
        with:
          toolchain: stable
      - name: rustup target add ${{ matrix.target }}
        run: rustup target add ${{ matrix.target }}
      - name: cargo check
        run: cargo check --target ${{ matrix.target }} --no-default-features
  nostd_fail:
    runs-on: ubuntu-latest
    name: ${{ matrix.target }}
    strategy:
      matrix:
        target: [thumbv7m-none-eabi]
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # tag=v6.0.2
        with:
          submodules: true
      - name: Install stable
        uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # branch=master
        with:
          toolchain: stable
      - name: rustup target add ${{ matrix.target }}
        run: rustup target add ${{ matrix.target }}
      - name: cargo check
        run: cargo check --target ${{ matrix.target }} --no-default-features
        # currently there is no support for this without feature atomic-fallback
        continue-on-error: true
        id: check_result
      - name: verify
        run: |
          if [ "${{ steps.check_result.outcome }}" = "failure" ]; then
            echo "mission failed succesfully"
            exit 0
          else
            echo "no compile err"
            exit 1
          fi
      - name: correct
        run: cargo check --target ${{ matrix.target }} --no-default-features --features atomic-fallback