third_party_rust_syn/.github/workflows/ci.yml
2020-05-26 15:56:55 -07:00

104 lines
3.6 KiB
YAML

name: CI
on:
push:
pull_request:
schedule: [cron: "40 1 * * *"]
jobs:
test:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustc-dev
- run: cargo test --all-features --release
build:
name: ${{matrix.name || format('Rust {0}', matrix.rust)}}
runs-on: ${{matrix.os || 'ubuntu'}}-latest
strategy:
fail-fast: false
matrix:
rust: [stable, beta, 1.31.0]
include:
- rust: nightly
components: rustc-dev
- rust: nightly
name: WebAssembly
target: wasm32-unknown-unknown
- rust: nightly
name: WASI
target: wasm32-wasi
- rust: nightly
name: Windows
os: windows
env:
target: ${{matrix.target && format('--target={0}', matrix.target)}}
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{matrix.rust}}
components: ${{matrix.components}}
- if: matrix.target
run: rustup target add ${{matrix.target}}
- run: cargo check ${{env.target}} --no-default-features
- run: cargo check ${{env.target}}
- run: cargo check ${{env.target}} --features full
- run: cargo check ${{env.target}} --features 'fold visit visit-mut'
- run: cargo check ${{env.target}} --features 'full fold visit visit-mut'
- run: cargo check ${{env.target}} --no-default-features --features derive
- run: cargo check ${{env.target}} --no-default-features --features 'derive parsing'
- run: cargo check ${{env.target}} --no-default-features --features 'derive printing'
- run: cargo check ${{env.target}} --no-default-features --features 'proc-macro parsing printing'
- run: cargo check ${{env.target}} --no-default-features --features full
- run: cargo check ${{env.target}} --no-default-features --features 'full parsing'
- run: cargo check ${{env.target}} --no-default-features --features 'full printing'
- run: cargo check ${{env.target}} --no-default-features --features 'full parsing printing'
- run: cargo check ${{env.target}} --no-default-features --features 'fold visit visit-mut parsing printing'
- run: cargo check ${{env.target}} --no-default-features --features 'full fold visit visit-mut parsing printing'
- if: matrix.components == 'rustc-dev'
run: cargo check --benches --all-features --release
examples:
name: Examples
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@nightly
- run: cargo check --manifest-path examples/dump-syntax/Cargo.toml
- run: cargo check --manifest-path examples/heapsize/example/Cargo.toml
- run: cargo check --manifest-path examples/lazy-static/example/Cargo.toml
- run: cargo check --manifest-path examples/trace-var/example/Cargo.toml
codegen:
name: Codegen
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2020-05-15
- run: cd codegen && cargo run
- run: git diff --exit-code
msrv:
name: Minimal versions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@nightly
- run: cargo update -Z minimal-versions
- run: cargo check --all-features
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@clippy
- run: cargo clippy --all-features