From 24e95d2cac3fe198b8737bbf40a54a5019fff5b1 Mon Sep 17 00:00:00 2001 From: Adriano Caloiaroooo Date: Fri, 28 Nov 2025 18:14:30 -0800 Subject: [PATCH] Generate changelog in workflow using git-chglog --- .github/workflows/release.yml | 14 +++++++++++++- flake.nix | 22 ---------------------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bcebe97..c91db92 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,8 +22,20 @@ jobs: - name: Generate changelog id: changelog run: | - changelog=$(nix develop --impure --command git-chglog --next-tag=$(svu next)) + git config --global user.email "actions@github.com" + git config --global user.name "Github Actions" + OLD_TAG=$(nix develop --impure --command svu current --strip-prefix) + NEW_TAG=$(nix develop --impure --command svu next --strip-prefix) + [ "$OLD_TAG" == "$NEW_TAG" ] && echo "no version bump" && exit 0 + sed -i "s/$OLD_TAG/$NEW_TAG/g" default.nix + sed -i "s/$OLD_TAG/$NEW_TAG/g" main.go + changelog=$(nix develop --impure --command git-chglog --next-tag=v$NEW_TAG) echo "$changelog" > CHANGELOG.md + git add default.nix + git add main.go + git add CHANGELOG.md + git commit -m "bump di-tui version" --allow-empty + git tag v$NEW_TAG echo "changelog<> $GITHUB_OUTPUT echo "$changelog" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/flake.nix b/flake.nix index 0b2a70c..3a3b66f 100644 --- a/flake.nix +++ b/flake.nix @@ -63,31 +63,9 @@ pass_filenames = false; entry = "${gomod2nix.legacyPackages.${system}.gomod2nix}/bin/gomod2nix"; }; - pre-commit.hooks.changelog = { - enable = true; - always_run = true; - name = "change"; - description = "Generate a changelog"; - pass_filenames = false; - entry = "nix .#changelog"; - }; } ]; }; }); - apps = forEachSystem (system: let - pkgs = nixpkgs.legacyPackages.${system}; - changelog-script = pkgs.writeShellScriptBin "changelog" '' - set -euo pipefail - current_tag=$(${pkgs.svu}/bin/svu current) - ${pkgs.git-chglog}/bin/git-chglog "$current_tag" - echo "Generated CHANGELOG.md from $current_tag" - ''; - in { - changelog = { - type = "app"; - program = "${changelog-script}/bin/changelog"; - }; - }); }; }