tummychow / git-absorb

git commit --fixup, but automatic
https://crates.io/crates/git-absorb
BSD 3-Clause "New" or "Revised" License
3.38k stars 58 forks source link

Release infra #60

Closed jankatins closed 2 years ago

jankatins commented 2 years ago

Example run and corresponding release:

This is based on a master push with a example tag. I had some problems making it work in branch but this should be more or less the same as a regular release.

Workflow after merging this:

Currently, the binaries are in a archive (together with some doc stuff), so any install script needs to be adjusted to untar/unzip and get the binary from a versioned subdir (zinit can do that, so I'm happy) instead of renaming/linking to the versioned binary.

Example extract:

[16:18:15] λ  extract git-absorb-TEST-0.0.3-x86_64-unknown-linux-musl.tar.gz
git-absorb-TEST-0.0.3-x86_64-unknown-linux-musl/
git-absorb-TEST-0.0.3-x86_64-unknown-linux-musl/README.md
git-absorb-TEST-0.0.3-x86_64-unknown-linux-musl/doc/
git-absorb-TEST-0.0.3-x86_64-unknown-linux-musl/doc/git-absorb.1
git-absorb-TEST-0.0.3-x86_64-unknown-linux-musl/doc/git-absorb.txt
git-absorb-TEST-0.0.3-x86_64-unknown-linux-musl/LICENSE.md
git-absorb-TEST-0.0.3-x86_64-unknown-linux-musl/git-absorb

Closes: #39 #59

Tested on linux and mac by running git-absorb --help

jankatins commented 2 years ago

The worklow apparently needs your approval (and a new tag anyways, before running) :-)

tummychow commented 2 years ago

thanks for doing all this work. i'll push a new tag (there's been a minor functionality change since 0.6.6 that hasn't had a tagged release yet) to kick the tires

jankatins commented 2 years ago

My pleasure, this was easier than maintaining my rust apps update script :-)

jankatins commented 2 years ago

@tummychow There seems to be an easy way to generate the changelog based on the commits: https://github.com/alist-org/alist/commit/eb15bce24b2bceff0a81696b38ac85cca575adde -> uses https://github.com/Bullrich/generate-release-changelog

Want to get an PR adding that?

tummychow commented 2 years ago

hm, i'd want to filter it to only commits touching relevant files (rust code, cargo.toml/lock, manpages), we've had plenty of commits on project infra lately that wouldn't belong in a changelog. looks like the action script doesn't have an option for that. i'd accept a pr that vendors the action into this repo's .github plus adding that filter, or if you can find another fork that supports filtering you could use that one instead