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