diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index a98d415..1defe73 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -1,125 +1,173 @@ -name: CI - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - check: - name: Check - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - rust: - - stable - - beta - - nightly - - 1.18.0 # MSRV - - steps: - - uses: actions/checkout@v2 - name: Checkout - - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - override: true - name: Install Rust ${{ matrix.rust }} - - - uses: actions-rs/cargo@v1 - with: - command: check - name: Run `cargo check` - - - uses: actions-rs/cargo@v1 - with: - command: check - args: --examples - name: Check examples - if: matrix.rust != '1.18.0' - - test: - name: Test - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - stable - - beta - - nightly - steps: - - uses: actions/checkout@v2 - name: Checkout - - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - override: true - name: Install Rust ${{ matrix.rust }} - - - uses: actions-rs/cargo@v1 - with: - command: test - name: Run `cargo test` - - lints: - name: Lints - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - name: Checkout - - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - components: rustfmt, clippy - name: Install Rust stable - - - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check - name: Run `cargo fmt` - - - uses: actions-rs/cargo@v1 - with: - command: clippy - args: -- -D warnings - name: Run `cargo clippy` - - coverage: - name: Code Coverage - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - name: Checkout - - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - name: Install Rust nightly - - - name: Run cargo-tarpaulin - uses: actions-rs/tarpaulin@v0.1 - with: - version: '0.12.3' - args: '--ignore-tests -- --test-threads 1' - - - name: Upload to codecov.io - uses: codecov/codecov-action@v1 - - - name: Archive code coverage results - uses: actions/upload-artifact@v1 - with: - name: code-coverage-report - path: cobertura.xml - +{ + "name": "CI", + "on": { + "push": { + "branches": [ + "master" + ] + }, + "pull_request": { + "branches": [ + "master" + ] + } + }, + "jobs": { + "check": { + "name": "Check", + "runs-on": "ubuntu-latest", + "strategy": { + "fail-fast": false, + "matrix": { + "rust": [ + "stable", + "beta", + "nightly", + "1.18.0" + ] + } + }, + "steps": [ + { + "uses": "actions/checkout@v2", + "name": "Checkout" + }, + { + "uses": "actions-rs/toolchain@v1", + "with": { + "profile": "minimal", + "toolchain": "${{ matrix.rust }}", + "override": true + }, + "name": "Install Rust ${{ matrix.rust }}" + }, + { + "uses": "actions-rs/cargo@v1", + "with": { + "command": "check" + }, + "name": "Run `cargo check`" + }, + { + "uses": "actions-rs/cargo@v1", + "with": { + "command": "check", + "args": "--examples" + }, + "name": "Check examples", + "if": "matrix.rust != '1.18.0'" + } + ] + }, + "test": { + "name": "Test", + "runs-on": "ubuntu-latest", + "strategy": { + "matrix": { + "rust": [ + "stable", + "beta", + "nightly" + ] + } + }, + "steps": [ + { + "uses": "actions/checkout@v2", + "name": "Checkout" + }, + { + "uses": "actions-rs/toolchain@v1", + "with": { + "profile": "minimal", + "toolchain": "${{ matrix.rust }}", + "override": true + }, + "name": "Install Rust ${{ matrix.rust }}" + }, + { + "uses": "actions-rs/cargo@v1", + "with": { + "command": "test" + }, + "name": "Run `cargo test`" + } + ] + }, + "lints": { + "name": "Lints", + "runs-on": "ubuntu-latest", + "steps": [ + { + "uses": "actions/checkout@v2", + "name": "Checkout" + }, + { + "uses": "actions-rs/toolchain@v1", + "with": { + "profile": "minimal", + "toolchain": "stable", + "override": true, + "components": "rustfmt, clippy" + }, + "name": "Install Rust stable" + }, + { + "uses": "actions-rs/cargo@v1", + "with": { + "command": "fmt", + "args": "--all -- --check" + }, + "name": "Run `cargo fmt`" + }, + { + "uses": "actions-rs/cargo@v1", + "with": { + "command": "clippy", + "args": "-- -D warnings" + }, + "name": "Run `cargo clippy`" + } + ] + }, + "coverage": { + "name": "Code Coverage", + "runs-on": "ubuntu-latest", + "steps": [ + { + "uses": "actions/checkout@v2", + "name": "Checkout" + }, + { + "uses": "actions-rs/toolchain@v1", + "with": { + "profile": "minimal", + "toolchain": "nightly", + "override": true + }, + "name": "Install Rust nightly" + }, + { + "name": "Run cargo-tarpaulin", + "uses": "actions-rs/tarpaulin@v0.1", + "with": { + "version": "0.12.3", + "args": "--ignore-tests -- --test-threads 1" + } + }, + { + "name": "Upload to codecov.io", + "uses": "codecov/codecov-action@v1" + }, + { + "name": "Archive code coverage results", + "uses": "actions/upload-artifact@v1", + "with": { + "name": "code-coverage-report", + "path": "cobertura.xml" + } + } + ] + } + } +} diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index 5b62966..af5d6ae 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -1,12 +1,26 @@ -name: Security audit -on: - schedule: - - cron: '0 0 * * *' -jobs: - audit: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/audit-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} +{ + "name": "Security audit", + "on": { + "schedule": [ + { + "cron": "0 0 * * *" + } + ] + }, + "jobs": { + "audit": { + "runs-on": "ubuntu-latest", + "steps": [ + { + "uses": "actions/checkout@v1" + }, + { + "uses": "actions-rs/audit-check@v1", + "with": { + "token": "${{ secrets.GITHUB_TOKEN }}" + } + } + ] + } + } +}