spinning_top 0.3.0

A simple spinlock crate based on the abstractions provided by `lock_api`.
Documentation
name: Build

on:
  push:
    branches:
      - 'master'
    tags:
      - '*'
  schedule:
    - cron: '40 4 * * *'   # every day at 4:40
  pull_request:

jobs:
  test:
    name: "Test"

    strategy:
      matrix:
        platform: [
          ubuntu-latest,
          macos-latest,
          windows-latest
        ]

    runs-on: ${{ matrix.platform }}
    timeout-minutes: 15

    steps:
    - name: "Checkout Repository"
      uses: actions/checkout@v1

    - name: "Print Rust Version"
      run: |
        rustc -Vv
        cargo -Vv

    - name: "Run cargo build"
      run: cargo build

    - name: "Run cargo build --all-features"
      run: cargo build --all-features

    - name: "Run cargo test"
      run: cargo test
    
    - name: "Run cargo doc"
      run: cargo doc

    - name: 'Deny Warnings'
      run: cargo rustc -- -D warnings

    - name: "Install Bare Metal Rustup Target"
      run: rustup target add thumbv7em-none-eabihf
    - name: 'Verify no_std build'
      run: cargo build --target thumbv7em-none-eabihf

  check_formatting:
    name: "Check Formatting"
    runs-on: ubuntu-latest
    timeout-minutes: 2
    steps:
    - uses: actions/checkout@v1
    - run: rustup toolchain install nightly --profile minimal --component rustfmt
    - run: cargo +nightly fmt -- --check