Merge pull request #2 from duesee/improve_ci

Improve CI
This commit is contained in:
Damian Poddebniak 2021-07-21 13:53:09 +02:00 committed by GitHub
commit b66480090d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 112 additions and 48 deletions

View File

@ -1,22 +0,0 @@
name: Audit
on:
schedule:
- cron: '0 0 * * *'
push:
branches: [ main ]
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
pull_request:
branches: [ main ]
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
jobs:
security_audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}

88
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,88 @@
name: CI
on:
push:
branches: [ main ]
paths:
- '**.rs'
- '**.toml'
- '.github/workflows/**'
pull_request:
branches: [ main ]
paths:
- '**.rs'
- '**.toml'
- '.github/workflows/**'
env:
CARGO_TERM_COLOR: always
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
rust: [stable]
runs-on: ${{ matrix.os }}
steps:
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true
- name: Checkout code
uses: actions/checkout@v2
- name: Build code
uses: actions-rs/cargo@v1
with:
command: build
args: --all --all-features
- name: Test code
uses: actions-rs/cargo@v1
with:
command: test
args: --all --all-features
audit:
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Audit dependencies
uses: EmbarkStudios/cargo-deny-action@v1
lint:
needs: test
runs-on: ubuntu-latest
steps:
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: clippy
- name: Checkout code
uses: actions/checkout@v2
- name: Check code formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check --config imports_granularity=Crate,group_imports=StdExternalCrate
- name: Check for common mistakes and missed improvements
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features

View File

@ -1,26 +0,0 @@
name: Rust
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: cargo build --verbose
- name: Test
run: cargo test --verbose
- name: Fmt
run: cargo fmt -- --check --config imports_granularity=Crate,group_imports=StdExternalCrate
- name: Clippy
run: cargo clippy

12
.github/workflows/scheduled.yml vendored Normal file
View File

@ -0,0 +1,12 @@
name: Scheduled
on:
schedule:
- cron: '0 0 * * *'
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: EmbarkStudios/cargo-deny-action@v1

View File

@ -1,3 +1,6 @@
![CI](https://github.com/duesee/smtp-codec/actions/workflows/ci.yml/badge.svg)
![Scheduled](https://github.com/duesee/smtp-codec/actions/workflows/scheduled.yml/badge.svg)
# SMTP Protocol
This crate provides some types and many parsers for SMTP. Many things are there, but it is still in a very rough state.

9
deny.toml Normal file
View File

@ -0,0 +1,9 @@
[bans]
multiple-versions = "deny"
[sources]
unknown-registry = "deny"
unknown-git = "deny"
[licenses]
allow = [ "Apache-2.0", "MIT" ]