From 82b7b191d93bc175259eab33e25c8590cc842f36 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 00:00:21 +0200 Subject: [PATCH 01/10] Upgrade flake inputs using DevEnv v2.0.6 --- devenv.lock | 39 +++++++++++++++++++++------------------ devenv.yaml | 6 +++--- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/devenv.lock b/devenv.lock index 6102c17..bc49e8b 100644 --- a/devenv.lock +++ b/devenv.lock @@ -3,16 +3,17 @@ "devenv": { "locked": { "dir": "src/modules", - "lastModified": 1764115230, + "lastModified": 1774168944, + "narHash": "sha256-i1G6n/7Z5fO9RhplzXQSTiLyh1Cs0GhoCoEStFLARtA=", "owner": "cachix", "repo": "devenv", - "rev": "51440964cd26a47e90064f9d59aa230a5cefc88b", + "rev": "55d2bb4a3cc710ba82cc8644f4419db3a802e1a4", "type": "github" }, "original": { "dir": "src/modules", "owner": "cachix", - "ref": "51440964cd26a47e90064f9d59aa230a5cefc88b", + "ref": "v2.0.6", "repo": "devenv", "type": "github" } @@ -21,6 +22,7 @@ "flake": false, "locked": { "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", "owner": "NixOS", "repo": "flake-compat", "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", @@ -39,16 +41,17 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1772665116, + "lastModified": 1776796298, + "narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "39f53203a8458c330f61cc0759fe243f0ac0d198", + "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad", "type": "github" }, "original": { "owner": "cachix", - "ref": "39f53203a8458c330f61cc0759fe243f0ac0d198", "repo": "git-hooks.nix", + "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad", "type": "github" } }, @@ -60,10 +63,11 @@ ] }, "locked": { - "lastModified": 1762808025, + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -74,10 +78,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1772736753, + "lastModified": 1770073757, + "narHash": "sha256-Vy+G+F+3E/Tl+GMNgiHl9Pah2DgShmIUBJXmbiQPHbI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "917fec990948658ef1ccd07cef2a1ef060786846", + "rev": "47472570b1e607482890801aeaf29bfb749884f6", "type": "github" }, "original": { @@ -89,15 +94,16 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1772822230, + "lastModified": 1776734388, + "narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "71caefce12ba78d84fe618cf61644dce01cf3a96", + "rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac", "type": "github" }, "original": { "owner": "nixos", - "ref": "71caefce12ba78d84fe618cf61644dce01cf3a96", + "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } @@ -106,13 +112,10 @@ "inputs": { "devenv": "devenv", "git-hooks": "git-hooks", - "nixpkgs": "nixpkgs_2", - "pre-commit-hooks": [ - "git-hooks" - ] + "nixpkgs": "nixpkgs_2" } } }, "root": "root", "version": 7 -} +} \ No newline at end of file diff --git a/devenv.yaml b/devenv.yaml index d2bcbe6..cfc9532 100644 --- a/devenv.yaml +++ b/devenv.yaml @@ -2,10 +2,10 @@ --- inputs: devenv: - url: github:cachix/devenv?dir=src/modules&ref=51440964cd26a47e90064f9d59aa230a5cefc88b # v1.11.1 as of 2026-03-07 + url: github:cachix/devenv?dir=src/modules&ref=v2.0.6 nixpkgs: - url: github:nixos/nixpkgs?ref=71caefce12ba78d84fe618cf61644dce01cf3a96 # latest commit on nixos-25.11 branch as of 2026-03-07 + url: github:nixos/nixpkgs?ref=nixos-25.11 git-hooks: - url: github:cachix/git-hooks.nix?ref=39f53203a8458c330f61cc0759fe243f0ac0d198 # latest commit on main branch as of 2026-03-07 + url: github:cachix/git-hooks.nix?rev=3cfd774b0a530725a077e17354fbdb87ea1c4aad # latest commit on main branch as of 2026-04-24 # eof From 20ec98677551ddcfe9c4c04d8258b4929bec91ae Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 00:02:12 +0200 Subject: [PATCH 02/10] Use DevEnv 2.0.6 in GHA workflows --- .github/workflows/ci.yaml | 2 +- .github/workflows/release-entry.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cee6151..65af9d5 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -35,7 +35,7 @@ jobs: - name: Install devenv.sh run: | - nix profile add github:cachix/devenv/v1.11.1 --accept-flake-config --option extra-substituters "https://devenv.cachix.org?trusted=true&priority=3" + nix profile add github:cachix/devenv/v2.0.6 --accept-flake-config --option extra-substituters "https://devenv.cachix.org?trusted=true&priority=3" - name: Run devenv test run: | diff --git a/.github/workflows/release-entry.yaml b/.github/workflows/release-entry.yaml index 9599f50..316f482 100644 --- a/.github/workflows/release-entry.yaml +++ b/.github/workflows/release-entry.yaml @@ -42,7 +42,7 @@ jobs: - name: Install devenv.sh run: | - nix profile add github:cachix/devenv/v1.11.1 --accept-flake-config --option extra-substituters "https://devenv.cachix.org?trusted=true&priority=3" + nix profile add github:cachix/devenv/v2.0.6 --accept-flake-config --option extra-substituters "https://devenv.cachix.org?trusted=true&priority=3" - name: Generate change list shell: devenv shell bash -- -e {0} From 9ac5485cdb5c8fb13f30943d3f3ea11b17cd0057 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 00:21:48 +0200 Subject: [PATCH 03/10] Update formatting of the list of imported packages --- devenv.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/devenv.nix b/devenv.nix index df0dbec..bf94526 100644 --- a/devenv.nix +++ b/devenv.nix @@ -21,14 +21,11 @@ go-task gnupg - # Maven Daemon - # https://github.com/apache/maven-mvnd - mvnd + # Packages specific to the CI/CD pipeline + git-cliff # https://github.com/orhun/git-cliff + https://git-cliff.org/docs/ # Highly customizable Changelog Generator - # Highly customizable changelog generator - # https://github.com/orhun/git-cliff - # https://git-cliff.org/docs/ - git-cliff + # Packages for the local development loop + mvnd # https://github.com/apache/maven-mvnd # Apache Maven Daemon ]; git-hooks.hooks = { From fdcd255ee8b8ee3714d310e42bd8b38a51f71d72 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 00:23:05 +0200 Subject: [PATCH 04/10] Include Maven SCM plugin in the release build profile --- pom.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 0a41e8e..01ccd9a 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,5 @@ - + 4.0.0 com.tguzik @@ -23,7 +24,7 @@ scm:git:git@github.com:tguzik/valueclasses.git scm:git:git@github.com:tguzik/valueclasses.git - git@github.com:tguzik/valueclasses.git + https://github.com/tguzik/valueclasses HEAD @@ -67,6 +68,7 @@ clean + scm:validate release:clean release:prepare release:perform @@ -391,6 +393,11 @@ v@{project.version} + + org.apache.maven.plugins + maven-scm-plugin + 2.2.1 + org.apache.maven.plugins maven-source-plugin From 40ad8b8f1c3c50759fd1012fe7af3ed4b759bce7 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 00:27:57 +0200 Subject: [PATCH 05/10] Try to install DevEnv in CI using a full SHA instead of a updateable tag --- .github/workflows/ci.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2fd2f4e..4768e60 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -34,8 +34,10 @@ jobs: nix-instantiate --eval -E '(import {}).lib.version' - name: Install devenv.sh + env: + LOCAL_DEVENV_REVISION: 55d2bb4a3cc710ba82cc8644f4419db3a802e1a4 # https://github.com/cachix/devenv/releases/tag/v2.0.6 run: | - nix profile add github:cachix/devenv/v2.0.6 --accept-flake-config --option extra-substituters "https://devenv.cachix.org?trusted=true&priority=3" + nix profile add "github:cachix/devenv/${LOCAL_DEVENV_REVISION}" --accept-flake-config --option extra-substituters "https://devenv.cachix.org?trusted=true&priority=3" - name: Run devenv test run: | From fd102bf907bfd1ce5a045974d27b2d6009af2d65 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 00:33:35 +0200 Subject: [PATCH 06/10] Copy the pinned DevEnv install to the Release Entry workflow --- .github/workflows/ci.yaml | 2 +- .github/workflows/release-entry.yaml | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4768e60..99aacb6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -33,7 +33,7 @@ jobs: run: | nix-instantiate --eval -E '(import {}).lib.version' - - name: Install devenv.sh + - name: Install DevEnv env: LOCAL_DEVENV_REVISION: 55d2bb4a3cc710ba82cc8644f4419db3a802e1a4 # https://github.com/cachix/devenv/releases/tag/v2.0.6 run: | diff --git a/.github/workflows/release-entry.yaml b/.github/workflows/release-entry.yaml index f31103b..8dfbd9b 100644 --- a/.github/workflows/release-entry.yaml +++ b/.github/workflows/release-entry.yaml @@ -40,9 +40,11 @@ jobs: run: | nix-instantiate --eval -E '(import {}).lib.version' - - name: Install devenv.sh + - name: Install DevEnv + env: + LOCAL_DEVENV_REVISION: 55d2bb4a3cc710ba82cc8644f4419db3a802e1a4 # https://github.com/cachix/devenv/releases/tag/v2.0.6 run: | - nix profile add github:cachix/devenv/v2.0.6 --accept-flake-config --option extra-substituters "https://devenv.cachix.org?trusted=true&priority=3" + nix profile add "github:cachix/devenv/${LOCAL_DEVENV_REVISION}" --accept-flake-config --option extra-substituters "https://devenv.cachix.org?trusted=true&priority=3" - name: Generate change list shell: devenv shell bash -- -e {0} From a4e8e2d3ea260883a4b54bef59e1f7a0df359e80 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 00:39:46 +0200 Subject: [PATCH 07/10] Include GitHub CLI in the dev env --- devenv.nix | 1 + devenv.yaml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/devenv.nix b/devenv.nix index bf94526..7b9f0f9 100644 --- a/devenv.nix +++ b/devenv.nix @@ -22,6 +22,7 @@ gnupg # Packages specific to the CI/CD pipeline + gh # https://cli.github.com/ # GitHub CLI tool git-cliff # https://github.com/orhun/git-cliff + https://git-cliff.org/docs/ # Highly customizable Changelog Generator # Packages for the local development loop diff --git a/devenv.yaml b/devenv.yaml index cfc9532..0caab16 100644 --- a/devenv.yaml +++ b/devenv.yaml @@ -2,8 +2,10 @@ --- inputs: devenv: + # Lockfile allows us to use the tag name here instead of full SHA url: github:cachix/devenv?dir=src/modules&ref=v2.0.6 nixpkgs: + # Lockfile allows us to use the tag name here instead of full SHA url: github:nixos/nixpkgs?ref=nixos-25.11 git-hooks: url: github:cachix/git-hooks.nix?rev=3cfd774b0a530725a077e17354fbdb87ea1c4aad # latest commit on main branch as of 2026-04-24 From 01c17f5ff7eafd8da81cd859630ca7423ebca107 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 00:50:06 +0200 Subject: [PATCH 08/10] Create the release entry using GitHub CLI instead of a third party action --- .github/workflows/release-entry.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-entry.yaml b/.github/workflows/release-entry.yaml index 8dfbd9b..0e8f46c 100644 --- a/.github/workflows/release-entry.yaml +++ b/.github/workflows/release-entry.yaml @@ -59,12 +59,9 @@ jobs: cat changes.md >> "$GITHUB_STEP_SUMMARY" - name: Create GitHub Release entry - uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # https://github.com/softprops/action-gh-release/releases/tag/v3.0.0 if: github.ref_type == 'tag' && github.event_name == 'push' - with: - # Populate the release entry body with the notes we generated - body_path: changes.md - # A hooman still needs to push the butan - draft: true + shell: devenv shell bash -- -e {0} + run: | + gh release create --draft --notes-file changes.md --fail-on-no-commits # eof From 363b51fb7e8737388ae03889dce4e3155fbfc5a0 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 01:08:28 +0200 Subject: [PATCH 09/10] Pass the GH token to GH CLI --- .github/workflows/release-entry.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release-entry.yaml b/.github/workflows/release-entry.yaml index 0e8f46c..c5438bf 100644 --- a/.github/workflows/release-entry.yaml +++ b/.github/workflows/release-entry.yaml @@ -61,6 +61,8 @@ jobs: - name: Create GitHub Release entry if: github.ref_type == 'tag' && github.event_name == 'push' shell: devenv shell bash -- -e {0} + env: + GH_TOKEN: ${{ github.token }} run: | gh release create --draft --notes-file changes.md --fail-on-no-commits From f1834c20863be3b695a4eeb1bcc8dc691b2b46f3 Mon Sep 17 00:00:00 2001 From: Tomasz Guzik Date: Sat, 25 Apr 2026 01:17:36 +0200 Subject: [PATCH 10/10] Explicitly specify the name of the tag to create release entry for --- .github/workflows/release-entry.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-entry.yaml b/.github/workflows/release-entry.yaml index c5438bf..5e8012d 100644 --- a/.github/workflows/release-entry.yaml +++ b/.github/workflows/release-entry.yaml @@ -63,7 +63,8 @@ jobs: shell: devenv shell bash -- -e {0} env: GH_TOKEN: ${{ github.token }} + LOCAL_CURRENT_TAG: ${{ github.ref_name }} run: | - gh release create --draft --notes-file changes.md --fail-on-no-commits + gh release create --draft --notes-file changes.md --fail-on-no-commits "${LOCAL_CURRENT_TAG}" # eof