name: Continuous integration on: [push, pull_request] jobs: test: name: Test runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta - 1.45.2 steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} override: true - run: sudo DEBIAN_FRONTEND=noninteractive apt-get update - run: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix - run: smtp-sink 2525 1000& - uses: actions-rs/cargo@v1 with: command: test args: --no-default-features --features=native-tls,builder,r2d2,smtp-transport,file-transport,sendmail-transport - run: rm target/debug/deps/liblettre-* - uses: actions-rs/cargo@v1 with: command: test - run: rm target/debug/deps/liblettre-* - uses: actions-rs/cargo@v1 with: command: test args: --no-default-features --features=builder,smtp-transport,file-transport,sendmail-transport - run: rm target/debug/deps/liblettre-* - uses: actions-rs/cargo@v1 with: command: test args: --features=async-std1 - uses: actions-rs/cargo@v1 with: command: test args: --features=tokio02 - uses: actions-rs/cargo@v1 with: command: test args: --features=tokio03 check: name: Check runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta - 1.45.2 steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} override: true - uses: actions-rs/cargo@v1 with: command: check fmt: name: Rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: name: Clippy runs-on: ubuntu-latest strategy: matrix: rust: - stable steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} override: true - uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings # coverage: # name: Coverage # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v1 # - uses: actions-rs/toolchain@v1 # with: # toolchain: nightly # override: true # - run: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix # - run: smtp-sink 2525 1000& # - uses: actions-rs/cargo@v1 # with: # command: test # args: --no-fail-fast # env: # CARGO_INCREMENTAL: "0" # RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Zno-landing-pads" # - id: coverage # uses: actions-rs/grcov@v0.1 # - name: Coveralls upload # uses: coverallsapp/github-action@master # with: # github-token: ${{ secrets.GITHUB_TOKEN }} # path-to-lcov: ${{ steps.coverage.outputs.report }}