mirror of https://git.sr.ht/~stygianentity/bincode
229 lines
5.5 KiB
YAML
229 lines
5.5 KiB
YAML
{
|
|
"name": "CI",
|
|
"on": {
|
|
"push": {
|
|
"branches": [
|
|
"trunk",
|
|
"v*.x",
|
|
"ci/*"
|
|
]
|
|
},
|
|
"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",
|
|
"args": "--all-features"
|
|
},
|
|
"name": "Run `cargo check`"
|
|
},
|
|
{
|
|
"uses": "actions-rs/cargo@v1",
|
|
"with": {
|
|
"command": "check",
|
|
"args": "--bench *"
|
|
},
|
|
"name": "Run `cargo check` on benches"
|
|
},
|
|
{
|
|
"uses": "actions-rs/cargo@v1",
|
|
"with": {
|
|
"command": "check",
|
|
"args": "--examples"
|
|
},
|
|
"name": "Check examples"
|
|
}
|
|
]
|
|
},
|
|
"test": {
|
|
"name": "Test",
|
|
"runs-on": "ubuntu-latest",
|
|
"strategy": {
|
|
"matrix": {
|
|
"rust": [
|
|
"stable",
|
|
# "1.55.0" TODO: Pick latest stable version when we release 2.0
|
|
],
|
|
"features": [
|
|
"",
|
|
"alloc",
|
|
"alloc,derive",
|
|
"std",
|
|
"std,derive",
|
|
"serde_no_std",
|
|
"serde_alloc",
|
|
"serde",
|
|
"serde_no_std,derive",
|
|
"serde_alloc,derive",
|
|
"serde,derive"
|
|
]
|
|
}
|
|
},
|
|
"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 }}"
|
|
},
|
|
{
|
|
"run": "if [ -z \"${{ matrix.features }}\" ]\n
|
|
then\n
|
|
cargo test --no-default-features\n
|
|
else\n
|
|
cargo test --no-default-features --features ${{ matrix.features }}\n
|
|
fi",
|
|
"name": "Run `cargo test` on all features",
|
|
"env": {
|
|
"RUSTFLAGS": "-D warnings"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"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": "--all-features -- -D warnings"
|
|
},
|
|
"name": "Run `cargo clippy`"
|
|
}
|
|
]
|
|
},
|
|
"compatibility": {
|
|
"name": "Compatibility",
|
|
"runs-on": "ubuntu-latest",
|
|
"steps": [
|
|
{
|
|
"uses": "actions/checkout@v2",
|
|
"name": "Checkout"
|
|
},
|
|
{
|
|
"uses": "actions-rs/toolchain@v1",
|
|
"with": {
|
|
"profile": "minimal",
|
|
"toolchain": "stable",
|
|
"override": true,
|
|
},
|
|
"name": "Install Rust stable"
|
|
},
|
|
{
|
|
"uses": "actions-rs/cargo@v1",
|
|
"with": {
|
|
"command": "test",
|
|
"args": "--manifest-path compatibility/Cargo.toml"
|
|
},
|
|
"name": "Run compatibility tests"
|
|
}
|
|
]
|
|
},
|
|
"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.19.1",
|
|
"args": "--all --all-features"
|
|
}
|
|
},
|
|
{
|
|
"name": "Upload to codecov.io",
|
|
"uses": "codecov/codecov-action@v2"
|
|
},
|
|
{
|
|
"name": "Archive code coverage results",
|
|
"uses": "actions/upload-artifact@v1",
|
|
"with": {
|
|
"name": "code-coverage-report",
|
|
"path": "cobertura.xml"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|