name: Rust
on:
push:
branches: [ master, develop ]
pull_request:
branches: [ "**" ]
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
RUSTFLAGS: "-D warnings"
jobs:
fmt:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Update rust
run: rustup update
- name: Setup nightly
run: rustup toolchain install nightly --component rustfmt --allow-downgrade
- name: Fmt
run: cargo +nightly fmt --all -- --check
rust:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: no-runtime
args: --no-default-features
- name: tokio
args: --no-default-features --features tokio
- name: http
args: --no-default-features --features http
- name: all
args: --no-default-features --features tokio,http
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Update rust
run: rustup update
- name: Run php-fpm
run: docker run -d --name php-fpm -v $PWD:$PWD -p 9000:9000 php:7.1.30-fpm -c /usr/local/etc/php/php.ini-development
- name: Check (${{ matrix.name }})
run: cargo check --release ${{ matrix.args }}
- name: Clippy
run: cargo clippy --release ${{ matrix.args }}
- name: Test (${{ matrix.name }})
run: cargo test --release ${{ matrix.args }}
doc:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Update rust
run: rustup update
- name: Setup nightly
run: rustup toolchain install nightly --allow-downgrade
- name: Doc
run: cargo +nightly rustdoc --release --all-features -- -D warnings --cfg docsrs