Generate changelog in workflow using git-chglog
This commit is contained in:
parent
81da08cd30
commit
24e95d2cac
2 changed files with 13 additions and 23 deletions
14
.github/workflows/release.yml
vendored
14
.github/workflows/release.yml
vendored
|
|
@ -22,8 +22,20 @@ jobs:
|
||||||
- name: Generate changelog
|
- name: Generate changelog
|
||||||
id: changelog
|
id: changelog
|
||||||
run: |
|
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
|
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<<EOF" >> $GITHUB_OUTPUT
|
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
||||||
echo "$changelog" >> $GITHUB_OUTPUT
|
echo "$changelog" >> $GITHUB_OUTPUT
|
||||||
echo "EOF" >> $GITHUB_OUTPUT
|
echo "EOF" >> $GITHUB_OUTPUT
|
||||||
|
|
|
||||||
22
flake.nix
22
flake.nix
|
|
@ -63,31 +63,9 @@
|
||||||
pass_filenames = false;
|
pass_filenames = false;
|
||||||
entry = "${gomod2nix.legacyPackages.${system}.gomod2nix}/bin/gomod2nix";
|
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";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue