diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index f5c69049..c96d188e 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -32,3 +32,16 @@ jobs: run: cargo build --locked --tests --verbose - name: Run tests run: cargo test --locked --verbose + + msrv: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: taiki-e/install-action@cargo-hack + - name: Check published packages on their declared MSRV + run: >- + cargo hack --workspace + --exclude typify-test + --exclude example-build + --exclude example-macro + --no-dev-deps --rust-version check diff --git a/Cargo.toml b/Cargo.toml index ecb19fed..95ecbe5d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,9 @@ members = [ resolver = "2" +[workspace.package] +rust-version = "1.88.0" + [workspace.dependencies] typify = { version = "0.7.0", path = "typify" } typify-impl = { version = "0.7.0", path = "typify-impl" } diff --git a/cargo-typify/Cargo.toml b/cargo-typify/Cargo.toml index 4a48669f..040df979 100644 --- a/cargo-typify/Cargo.toml +++ b/cargo-typify/Cargo.toml @@ -8,6 +8,7 @@ repository = "https://github.com/oxidecomputer/typify" readme = "README.md" keywords = ["json", "schema", "cargo"] categories = ["api-bindings", "compilers"] +rust-version.workspace = true default-run = "cargo-typify" diff --git a/typify-impl/Cargo.toml b/typify-impl/Cargo.toml index 4ba10fd5..da51bbdb 100644 --- a/typify-impl/Cargo.toml +++ b/typify-impl/Cargo.toml @@ -6,6 +6,7 @@ license = "Apache-2.0" description = "typify backend implementation" repository = "https://github.com/oxidecomputer/typify" readme = "../README.md" +rust-version.workspace = true [dependencies] heck = { workspace = true } diff --git a/typify-macro/Cargo.toml b/typify-macro/Cargo.toml index 3c761e45..f167d8c3 100644 --- a/typify-macro/Cargo.toml +++ b/typify-macro/Cargo.toml @@ -6,6 +6,7 @@ license = "Apache-2.0" description = "typify macro implementation" repository = "https://github.com/oxidecomputer/typify" readme = "../README.md" +rust-version.workspace = true [lib] proc-macro = true diff --git a/typify-test/Cargo.toml b/typify-test/Cargo.toml index 6b23b78a..40e59961 100644 --- a/typify-test/Cargo.toml +++ b/typify-test/Cargo.toml @@ -14,6 +14,6 @@ typify = { path = "../typify" } ipnetwork = { workspace = true } prettyplease = { workspace = true } schemars = { workspace = true } -serde = { workspace = true } +serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } syn = { workspace = true } diff --git a/typify/Cargo.toml b/typify/Cargo.toml index c7b1a8e4..3924d916 100644 --- a/typify/Cargo.toml +++ b/typify/Cargo.toml @@ -8,6 +8,7 @@ repository = "https://github.com/oxidecomputer/typify" readme = "../README.md" keywords = ["json", "schema", "proc_macro"] categories = ["api-bindings", "compilers"] +rust-version.workspace = true [features] default = ["macro"]