{ "name": "CI", "on": { "push": { "branches": [ "trunk", "feature/deserde", # Temporary while we work on deserde "v*.x" ] }, "pull_request": { "branches": [ "trunk", "v*.x" ] } }, "jobs": { "check": { "name": "Check", "runs-on": "ubuntu-latest", "strategy": { "fail-fast": false, "matrix": { "rust": [ "stable", "beta", "nightly" # "1.55.0" TODO: Pick latest stable version when we release 2.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.41.0'" # } ] }, "test": { "name": "Test", "runs-on": "ubuntu-latest", "strategy": { "matrix": { "rust": [ "stable", "beta", "nightly" # "1.55.0" TODO: Pick latest stable version when we release 2.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": "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`" } ] } # Tarpaulin seems to not work with bincode_derive # "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.18.2", # "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" # } # } # ] # } } }