Merge pull request #2 from amritghimire/amritghimire-patch-1 #19
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
env: | |
RUST_BACKTRACE: full | |
jobs: | |
rustfmt: | |
name: rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install rust | |
run: | | |
rustup default | |
rustup component add rustfmt | |
- name: cargo fmt | |
run: cargo fmt --all -- --check | |
clippy: | |
name: clippy / stable | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install rust | |
run: | | |
rustup update --no-self-update stable | |
rustup component add clippy | |
- name: Run clippy | |
run: cargo clippy --all-features --all-targets -- -D warnings | |
check: | |
name: check / stable | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install rust | |
run: rustup update --no-self-update stable | |
- name: Setup cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Install cargo hack | |
run: cargo install cargo-hack --debug | |
- name: Check with cargo hack | |
run: cargo hack check --feature-powerset | |
test: | |
name: test / ${{ matrix.name }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- name: stable | |
rust: stable | |
- name: beta | |
rust: beta | |
- name: '1.70' | |
rust: '1.70' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install rust | |
run: | | |
rustup default ${{ matrix.rust }} | |
rustup update --no-self-update ${{ matrix.rust }} | |
- name: Setup cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Install postfix | |
run: | | |
DEBIAN_FRONTEND=noninteractive sudo apt-get update | |
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install postfix | |
- name: Run SMTP server | |
run: smtp-sink 2525 1000& | |
- name: Install cargo hack | |
run: cargo install cargo-hack --debug | |
- name: Test with hack | |
run: cargo hack test --feature-powerset | |
coverage: | |
name: coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install rust | |
run: | | |
rustup default stable | |
rustup update --no-self-update stable | |
rustup toolchain install nightly | |
- name: Setup cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Install postfix | |
run: | | |
DEBIAN_FRONTEND=noninteractive sudo apt-get update | |
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install postfix | |
- name: Run SMTP server | |
run: smtp-sink 2525 1000& | |
- name: Install cargo tarpaulin | |
run: cargo install cargo-tarpaulin | |
- name: Generate code coverage | |
run: | | |
cargo tarpaulin --all-features --doc --tests --out xml | |
- name: Upload to codecov.io | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: true |