From c87f6f543beb4eb556feee6dc3ca2bd99c888896 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 12 Jan 2026 23:43:00 +0100 Subject: [PATCH 1/7] dev/flake.nix: Switch to hci cargo-publish-module branch --- dev/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/flake.nix b/dev/flake.nix index 09a06a1..4668d46 100644 --- a/dev/flake.nix +++ b/dev/flake.nix @@ -3,7 +3,7 @@ inputs = { pre-commit-hooks-nix.url = "github:cachix/pre-commit-hooks.nix"; pre-commit-hooks-nix.inputs.nixpkgs.follows = ""; - hercules-ci-effects.url = "github:hercules-ci/hercules-ci-effects"; + hercules-ci-effects.url = "github:hercules-ci/hercules-ci-effects/cargo-publish-module"; treefmt-nix.url = "github:numtide/treefmt-nix"; treefmt-nix.inputs.nixpkgs.follows = ""; }; From c01638c2462bcbcd27aae6b08cd7c48b1e1d8e19 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 12 Jan 2026 23:47:15 +0100 Subject: [PATCH 2/7] dev: Configure cargo-publish --- dev/flake-module.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dev/flake-module.nix b/dev/flake-module.nix index ff31f41..0cbaa8f 100644 --- a/dev/flake-module.nix +++ b/dev/flake-module.nix @@ -122,5 +122,10 @@ "dev" = { }; }; }; + hercules-ci.cargo-publish = { + enable = true; + secretName = "crates-io"; + assertVersions = true; + }; flake = { }; } From 780e0af09cc4a408b4bd07a2f17837b10cf9c0ec Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 12 Jan 2026 23:56:14 +0100 Subject: [PATCH 3/7] dev/flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/edcbb19948b6caf1700434e369fde6ff9e6a3c93?narHash=sha256-UQhfCggNGDc7eam%2BEittlYmeW89CZVT1KkFIHZWBH7k%3D' (2025-12-15) → 'github:hercules-ci/hercules-ci-effects/bf9e4201dc26334bcb15040c7b932e3cc3f55bdc?narHash=sha256-oXCmakeIrpwpkwovkJDG7c1TV88qh0MHGiEJCX81/Gs%3D' (2026-01-12) • Updated input 'hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/5635c32d666a59ec9a55cab87e898889869f7b71?narHash=sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM%3D' (2025-12-11) → 'github:hercules-ci/flake-parts/52a2caecc898d0b46b2b905f058ccc5081f842da?narHash=sha256-8oNVE8TrD19ulHinjaqONf9QWCKK%2Bw4url56cdStMpM%3D' (2025-11-12) • Updated input 'hercules-ci-effects/nixpkgs': 'github:NixOS/nixpkgs/2fbfb1d73d239d2402a8fe03963e37aab15abe8b?narHash=sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0%3D' (2025-12-11) → 'github:NixOS/nixpkgs/c5ae371f1a6a7fd27823bc500d9390b38c05fa55?narHash=sha256-4PqRErxfe%2B2toFJFgcRKZ0UI9NSIOJa%2B7RXVtBhy4KE%3D' (2025-11-12) --- dev/flake.lock | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/dev/flake.lock b/dev/flake.lock index b1ca88e..4ea20bd 100644 --- a/dev/flake.lock +++ b/dev/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1765495779, - "narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=", + "lastModified": 1762980239, + "narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "5635c32d666a59ec9a55cab87e898889869f7b71", + "rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", "type": "github" }, "original": { @@ -63,26 +63,27 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1765774562, - "narHash": "sha256-UQhfCggNGDc7eam+EittlYmeW89CZVT1KkFIHZWBH7k=", + "lastModified": 1768258474, + "narHash": "sha256-oXCmakeIrpwpkwovkJDG7c1TV88qh0MHGiEJCX81/Gs=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "edcbb19948b6caf1700434e369fde6ff9e6a3c93", + "rev": "bf9e4201dc26334bcb15040c7b932e3cc3f55bdc", "type": "github" }, "original": { "owner": "hercules-ci", + "ref": "cargo-publish-module", "repo": "hercules-ci-effects", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1765472234, - "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=", + "lastModified": 1762977756, + "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b", + "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", "type": "github" }, "original": { From 956e729e90afd3ba9efb6d238c363c6800e2c483 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 13 Jan 2026 01:21:28 +0100 Subject: [PATCH 4/7] dev/flake.nix: Switch to merged hercules-ci-effects --- dev/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/flake.nix b/dev/flake.nix index 4668d46..09a06a1 100644 --- a/dev/flake.nix +++ b/dev/flake.nix @@ -3,7 +3,7 @@ inputs = { pre-commit-hooks-nix.url = "github:cachix/pre-commit-hooks.nix"; pre-commit-hooks-nix.inputs.nixpkgs.follows = ""; - hercules-ci-effects.url = "github:hercules-ci/hercules-ci-effects/cargo-publish-module"; + hercules-ci-effects.url = "github:hercules-ci/hercules-ci-effects"; treefmt-nix.url = "github:numtide/treefmt-nix"; treefmt-nix.inputs.nixpkgs.follows = ""; }; From 436789bfe1fcbd5c575dc6651347d351b0b2f7e3 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 13 Jan 2026 01:21:32 +0100 Subject: [PATCH 5/7] dev/flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'hercules-ci-effects': 'github:hercules-ci/hercules-ci-effects/bf9e4201dc26334bcb15040c7b932e3cc3f55bdc?narHash=sha256-oXCmakeIrpwpkwovkJDG7c1TV88qh0MHGiEJCX81/Gs%3D' (2026-01-12) → 'github:hercules-ci/hercules-ci-effects/796ba31ee88bcec5c3cbc80ee34c5e157705aab5?narHash=sha256-0bWm54W2kkhrLdvVboT2KVxBliEkc2sNf%2BINaDhvEDU%3D' (2026-01-13) • Updated input 'hercules-ci-effects/flake-parts': 'github:hercules-ci/flake-parts/52a2caecc898d0b46b2b905f058ccc5081f842da?narHash=sha256-8oNVE8TrD19ulHinjaqONf9QWCKK%2Bw4url56cdStMpM%3D' (2025-11-12) → 'github:hercules-ci/flake-parts/5635c32d666a59ec9a55cab87e898889869f7b71?narHash=sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM%3D' (2025-12-11) • Updated input 'hercules-ci-effects/nixpkgs': 'github:NixOS/nixpkgs/c5ae371f1a6a7fd27823bc500d9390b38c05fa55?narHash=sha256-4PqRErxfe%2B2toFJFgcRKZ0UI9NSIOJa%2B7RXVtBhy4KE%3D' (2025-11-12) → 'github:NixOS/nixpkgs/2fbfb1d73d239d2402a8fe03963e37aab15abe8b?narHash=sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0%3D' (2025-12-11) --- dev/flake.lock | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/dev/flake.lock b/dev/flake.lock index 4ea20bd..4020cf4 100644 --- a/dev/flake.lock +++ b/dev/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1762980239, - "narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", + "lastModified": 1765495779, + "narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", + "rev": "5635c32d666a59ec9a55cab87e898889869f7b71", "type": "github" }, "original": { @@ -63,27 +63,26 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1768258474, - "narHash": "sha256-oXCmakeIrpwpkwovkJDG7c1TV88qh0MHGiEJCX81/Gs=", + "lastModified": 1768263332, + "narHash": "sha256-0bWm54W2kkhrLdvVboT2KVxBliEkc2sNf+INaDhvEDU=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "bf9e4201dc26334bcb15040c7b932e3cc3f55bdc", + "rev": "796ba31ee88bcec5c3cbc80ee34c5e157705aab5", "type": "github" }, "original": { "owner": "hercules-ci", - "ref": "cargo-publish-module", "repo": "hercules-ci-effects", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1762977756, - "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", + "lastModified": 1765472234, + "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", + "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b", "type": "github" }, "original": { From a733bf75c85dd87e6c4e3d63bac99ebb95535224 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 13 Jan 2026 01:21:57 +0100 Subject: [PATCH 6/7] Document release process --- doc/maintainers/release.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/maintainers/release.md diff --git a/doc/maintainers/release.md b/doc/maintainers/release.md new file mode 100644 index 0000000..59056dd --- /dev/null +++ b/doc/maintainers/release.md @@ -0,0 +1,9 @@ + +# Release process + +This project uses simple tags, that trigger a release of all crates using Hercules CI. +See [HCI Effects cargo publish workflow]. + +Dissatisfied with the coarse grained release process? Complain to @roberth and he'll get it done for you. + +[HCI Effects cargo publish workflow]: https://docs.hercules-ci.com/hercules-ci-effects/reference/flake-parts/cargo-publish/#_releasing_a_version From 2b3ce74ef32e9dc4d94b65dc16e4fe625db010b7 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 13 Jan 2026 01:25:43 +0100 Subject: [PATCH 7/7] Bump version to 0.1.1 --- Cargo.lock | 12 ++++++------ nix-bindings-expr/Cargo.toml | 8 ++++---- nix-bindings-fetchers/Cargo.toml | 8 ++++---- nix-bindings-flake/Cargo.toml | 12 ++++++------ nix-bindings-store/Cargo.toml | 8 ++++---- nix-bindings-util-sys/Cargo.toml | 2 +- nix-bindings-util/Cargo.toml | 4 ++-- 7 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e4a8151..146ff70 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -210,7 +210,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "nix-bindings-expr" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "cstr", @@ -224,7 +224,7 @@ dependencies = [ [[package]] name = "nix-bindings-fetchers" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "cstr", @@ -237,7 +237,7 @@ dependencies = [ [[package]] name = "nix-bindings-flake" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "cstr", @@ -253,7 +253,7 @@ dependencies = [ [[package]] name = "nix-bindings-store" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "ctor", @@ -266,7 +266,7 @@ dependencies = [ [[package]] name = "nix-bindings-util" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "ctor", @@ -275,7 +275,7 @@ dependencies = [ [[package]] name = "nix-bindings-util-sys" -version = "0.1.0" +version = "0.1.1" dependencies = [ "bindgen", "pkg-config", diff --git a/nix-bindings-expr/Cargo.toml b/nix-bindings-expr/Cargo.toml index 41b3cc7..4daee1c 100644 --- a/nix-bindings-expr/Cargo.toml +++ b/nix-bindings-expr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nix-bindings-expr" -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "LGPL-2.1" description = "Rust bindings to Nix expression evaluator" @@ -11,9 +11,9 @@ path = "src/lib.rs" [dependencies] anyhow = "1.0" -nix-bindings-store = { path = "../nix-bindings-store", version = "0.1.0" } -nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.0" } -nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.0" } +nix-bindings-store = { path = "../nix-bindings-store", version = "0.1.1" } +nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.1" } +nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.1" } lazy_static = "1.4" ctor = "0.2" tempfile = "3.10" diff --git a/nix-bindings-fetchers/Cargo.toml b/nix-bindings-fetchers/Cargo.toml index db0c130..e816590 100644 --- a/nix-bindings-fetchers/Cargo.toml +++ b/nix-bindings-fetchers/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nix-bindings-fetchers" -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "LGPL-2.1" description = "Rust bindings to Nix fetchers" @@ -11,9 +11,9 @@ path = "src/lib.rs" [dependencies] anyhow = "1.0" -nix-bindings-store = { path = "../nix-bindings-store", version = "0.1.0" } -nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.0" } -nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.0" } +nix-bindings-store = { path = "../nix-bindings-store", version = "0.1.1" } +nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.1" } +nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.1" } ctor = "0.2" tempfile = "3.10" cstr = "0.2" diff --git a/nix-bindings-flake/Cargo.toml b/nix-bindings-flake/Cargo.toml index 70fd26e..7a76906 100644 --- a/nix-bindings-flake/Cargo.toml +++ b/nix-bindings-flake/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nix-bindings-flake" -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "LGPL-2.1" description = "Rust bindings to Nix flakes" @@ -11,11 +11,11 @@ path = "src/lib.rs" [dependencies] anyhow = "1.0" -nix-bindings-expr = { path = "../nix-bindings-expr", version = "0.1.0" } -nix-bindings-fetchers = { path = "../nix-bindings-fetchers", version = "0.1.0" } -nix-bindings-store = { path = "../nix-bindings-store", version = "0.1.0" } -nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.0" } -nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.0" } +nix-bindings-expr = { path = "../nix-bindings-expr", version = "0.1.1" } +nix-bindings-fetchers = { path = "../nix-bindings-fetchers", version = "0.1.1" } +nix-bindings-store = { path = "../nix-bindings-store", version = "0.1.1" } +nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.1" } +nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.1" } lazy_static = "1.4" ctor = "0.2" tempfile = "3.10" diff --git a/nix-bindings-store/Cargo.toml b/nix-bindings-store/Cargo.toml index d34afac..2754072 100644 --- a/nix-bindings-store/Cargo.toml +++ b/nix-bindings-store/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nix-bindings-store" -version = "0.1.0" +version = "0.1.1" edition = "2021" build = "build.rs" license = "LGPL-2.1" @@ -12,8 +12,8 @@ path = "src/lib.rs" [dependencies] anyhow = "1.0" -nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.0" } -nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.0" } +nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.1" } +nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.1" } lazy_static = "1.4" [dev-dependencies] @@ -23,7 +23,7 @@ tempfile = "3.10" [build-dependencies] pkg-config = "0.3" # Needed for version parsing in build.rs -nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.0" } +nix-bindings-util = { path = "../nix-bindings-util", version = "0.1.1" } [lints.rust] warnings = "deny" diff --git a/nix-bindings-util-sys/Cargo.toml b/nix-bindings-util-sys/Cargo.toml index 691da18..f450317 100644 --- a/nix-bindings-util-sys/Cargo.toml +++ b/nix-bindings-util-sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nix-bindings-util-sys" -version = "0.1.0" +version = "0.1.1" edition = "2021" build = "build.rs" license = "LGPL-2.1" diff --git a/nix-bindings-util/Cargo.toml b/nix-bindings-util/Cargo.toml index 3af13f1..fcf1aba 100644 --- a/nix-bindings-util/Cargo.toml +++ b/nix-bindings-util/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nix-bindings-util" -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "LGPL-2.1" description = "Rust bindings to Nix utility library" @@ -11,7 +11,7 @@ path = "src/lib.rs" [dependencies] anyhow = "1.0" -nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.0" } +nix-bindings-util-sys = { path = "../nix-bindings-util-sys", version = "0.1.1" } ctor = "0.2" [lints.rust]