rustic-games / jilu

Generate a change log based on the state of your Git repository.
104 stars 6 forks source link

Darwin binary does not work #5

Closed kondanta closed 5 years ago

kondanta commented 5 years ago

Hi!

This is how I try to setup jilu:

# I tried this on mac
curl -L https://github.com/rustic-games/jilu/releases/download/v0.1.1/jilu_0.1.1_$(uname)_x86_64.tar.gz | tar -xvf - jilu
mv jilu /usr/local/bin # its in the PATH
cd /some/project/repository/with/bunch/of/commits/that/follows/conventional/commits
jilu > out.md # got nothing
jilu # outputs nothing

I thought it might be a templating problem since I haven't put anything regarding the template, but even after adding a templatejilu did not print anything.

JeanMertz commented 5 years ago

Ouch. Thanks for the report. I tested this, but thinking about it, I suspect it was actually using the binary in my PATH instead of the one I extracted.

I can replicate this locally as well.

I used goreleaser and this blog post to make the release process of binaries easier, but that might actually no longer work, or need some tuning with more recent changes either in Rust, or in Goreleaser itself.

For now, you can install using cargo install --git https://github.com/rustic-games/jilu if you have Rust installed locally. If not, I'll mention you when I have a fix for this.

JeanMertz commented 5 years ago

I thought it might be a templating problem since I haven't put anything regarding the template, but even after adding a templatejilu did not print anything.

Also, just to clarify, a template is indeed not needed, it will use the default one (which is baked into the binary) if you don't provide one yourself.

JeanMertz commented 5 years ago

@kondanta I just re-uploaded the binaries for both 0.1.0 and 0.1.1. I tried them locally and they now work for me. Let me know if they work for you as well.

Thank you for bringing this to my attention, it was indeed a change in Goreleaser that I had to incorporate locally.

kondanta commented 5 years ago

Thanks for the blazingly fast response. I tested it locally and now it works for me as well. There's actually another problem I'm facing right now, don't wanna open separate issue though. It says, Invalid Git tag when there's a tag like 0.1.0 and when I remove the tag, it says Conventional Commit error: invalid commit format.

The way I commit is: fix(gomod): go mod path like this. My suspicion is that is because of the scope part.

JeanMertz commented 5 years ago

Thanks for the feedback.

Tags currently require the format vX.Y.Z, but I think it makes sense to support both formats, as those are the two most widely known formats (the SemVer spec also mentions the vX.Y.Z format).

However, having said that, tags in other format should simply be ignored, instead of producing an error. I'm suspecting your error is triggered here, but that's an edge-case I haven't seen yet, it would indicate the target of the tag isn't actually a commit object, but something else?

Still though, even if that branch is triggered, it should just ignore the tag, as any repo might have tags not pointing to commits that aren't relevant to the change log. I'll log that as an issue to solve, thanks.

The invalid commit format is definitely a bug. I don't use scopes myself, at least not in smaller projects, but I'm in the process of writing a set of tests (https://github.com/rustic-games/jilu/issues/4) to validate the functionality of Jilu, which will undoubtedly bring this issue to the front.

Feel free to subscribe to the linked issue, so you'll get notified when I've added the tests (and supposedly fixed the problem you're seeing).

JeanMertz commented 5 years ago

Quick update: both vX.Y.Z and X.Y.Z tags are now supported since 6b79f8725ed99db07c5199428d8b70cf35bc9eb2.