laps 0.1.7

Build lexers and parsers by deriving traits.
Documentation
name: Build and Test

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build_test:
    name: Build and Test
    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, 'skip-ci')"
    timeout-minutes: 30
    steps:
    - name: Checkout laps
      uses: actions/checkout@v2

    - name: Build
      run: cargo check --workspace &&
           cargo check --workspace --all-features

    - name: Clippy
      run: cargo clippy --workspace -- -D warnings &&
           cargo clippy --workspace --all-targets --all-features -- -D warnings

    - name: Test
      run: cargo test --workspace &&
           cargo test --workspace --all-features

  build_examples:
    name: Build Examples
    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, 'skip-ci')"
    timeout-minutes: 30
    strategy:
      matrix:
        example-name: ['sexp', 'calc', 'json', 'clike']

    steps:
    - name: Checkout laps
      uses: actions/checkout@v2

    - name: Build
      run: cargo check --example ${{matrix.example-name}} --features macros