release-lab / whatchanged Goto Github PK
View Code? Open in Web Editor NEWElegant changelog generator. 优雅的变更日志生成器
Home Page: https://release-lab.github.io
License: Other
Elegant changelog generator. 优雅的变更日志生成器
Home Page: https://release-lab.github.io
License: Other
Currently only made the simplest version
There may be some flaws in the design
eg. --dir
and --file
are easy to make confuse.
So here are the things that need to be changed for v0.2.0
If you are interested, welcome to share your opinion
--dir
to --project
--dir
is confusing
use --project
to support remote.
eg. --project=https://github.com/axetroy/changelog.git
--file
to --output
maybe, --output
is better.
tag:0~tag:1
tag:{N} syntax is not memorable
- $ changelog tag:0~tag:1
+ $ changelog @0~@1
Currently generating multiple versions of the syntax v2~v1
It will not only generate v1 and v2 changelogs, but also the versions between them.
We need a way to generate only v1 and v2
eg.
$ changelog v1,v2,v3,v4
I want to use changelog
in Github, and I need to write an additional Github Action
preview:
name: ci
on: [push, pull_request]
jobs:
release:
name: Release to Github
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'axetroy/changelog'
needs: [ci]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: axetroy/setup-changelog@v1
with:
changelog-version: v0.1.0
- name: Generate release.md
run: changelog --tpl=release.tpl --file=release.md
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist --release-notes=./release.md
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.github/workflows/ci.yml
actions/checkout v3
actions/setup-go v3
actions/setup-node v3
golangci/golangci-lint-action v3
goreleaser/goreleaser-action v2
actions/checkout v3
actions/setup-go v3
goreleaser/goreleaser-action v2
.github/workflows/codeql-analysis.yml
actions/checkout v3
github/codeql-action v1
github/codeql-action v1
github/codeql-action v1
go.mod
go 1.17
github.com/88250/lute v1.7.3
github.com/Masterminds/sprig/v3 v3.2.2
github.com/blang/semver/v4 v4.0.0
github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21@bcc4c8345a21
github.com/go-git/go-git/v5 v5.4.2
github.com/pkg/errors v0.9.1
github.com/release-lab/conventional-commit-parser v0.1.8
github.com/stretchr/testify v1.7.5
github.com/whilp/git-urls v1.0.0
npm/package.json
ffi-napi 4.0.3
@types/ffi-napi 4.0.5
jest 27.5.1
typescript 5.0.4
eg.
v1.5.0
v1.4.0
v1.3.0
v1.2.0
v1.1.0
v1.0.0
eg, I want to start with version v1.5.0 and generate 3 versions forward
$ whatchanged #3~v1.5.0
# it will generate v1.5.0/v1.4.0/v1.3.0/v1.2.0
$ whatchanged v1.2.0~#3
# it will generate v1.5.0/v1.4.0/v1.3.0/v1.2.0
No offence, but it would please more people if the default Readme would be English.
At least for me and I agree it is a bad prejustice, that as soon as some weird glyphs appear I cant deceifer, my attention gets lost sadly.
BR
It might be nice, if the revision range just supports Git syntax "SHA..SHA".
The parsers seems a bit complicated.
Actually the whole thing could be made much easier:
git rev-parse A..B
is extremely powerfull and could be used once, to get the list of commits.
Then another for loop just parses everything.
Thats gonna result in a 5% of the code in 0_parser.go
And I really suggest to use open ranges https://github.com/gabyx/Githooks/blob/06b29e49f6bf62b58bee38431eb3603e45bb85f2/githooks/git/gitcommon.go#L313
with a maybe flag --include-last
.
Do you think that might work?
In a monorepo it is very common to have different git tag patterns. Therefore multiple applications in a single repository.
It would be great to filter the changes based on a glob to generate only the changes relevant for a specific application. Ideally, we can pass multiple filter
flags and it supports a glob.
whatchanged --filter 'packages/sdk'
whatchanged --filter 'packages/**'
## @wundergraph/[email protected]
### New feature:
....
There may be some private projects with usernames and passwords on their git URL.
eg. https://username:[email protected]/username/private.git
This information should not be included in the generated changelog
A service should be deployed to access the real-time preview the changelog via URL
eg. https://example.com/changelog?usernameaxetroy&repo=changelog
It would be nice if we could specify regex and replacements
in the context such that we could modify stuff:
feat: Implement button (#71, JIRA-1232)
We did it
In the template:
{{ .Field.Header.Subject | subs "#\d+" "https://bla/\1" }}
Would that be possible?
Not only one breaking change footer should be extracted but multiple ones are allowed.
Breaking-Change: asdasd
Breaking-Change: asdasdasd1
Should be parsed too. See
大佬,这个没有检查分支的commit诶,
我跟踪了一下代码,发现获取到的commit只有master分支的
看起来和使用下面的git命令得到的日志一样
git log --first-parent
是不是我的用法有问题呢?我到go-git提了一个问题
我使用的方式是
./whatchanged
Because the name of changelog
is so usual that search engines cannot find it.
eg. v1.5.0
and v1.5.1
on the same tag
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.