Git Product home page Git Product logo

changelist's People

Contributors

bsipocz avatar dependabot[bot] avatar jarrodmillman avatar lagru avatar stefanv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

changelist's Issues

Allow prioritization of API changes entry

It would be useful to prioritize certain sections, such as the API changes. For skimage, I imagine we'd want new features, then API changes, then all the rest. So maybe something like:

priority_categories = [a, b, c]

?

Label required for merging instead of part of CI

We've had a couple of confused first PR submitters who think the red-x of not having a label means that they did something wrong. It might be better to make having a label be a requirement for merging (since it is assigned by the maintainer who presumably will merge it) rather than a Github-Action checking whether there is a label.

How hard would it be to configure the label check as a merge requirement rather than a CI action?

Uncoupling summaries from pull requests?

One critique of the approach taken by changelist, is that the relation between pull requests and a summary (a single bullet point) in the release notes isn't always 1-to-1. E.g.

  • 1pr-to-many: A pull requests addresses multiple things which should ideally appear as multiple summaries. Possibly even in separate sections.
  • many-to-1sum: A change or update is realized in multiple pull requests. However, thematically the entire change or description should go into one summary.

I've been thinking about how we could address these concerns. For 1pr-to-many, we could allow multiple release-note blocks in a pull request description. The only question would be, how to encode the labels for each of these items. Maybe something like (ignore escaping \)

\```release-note
{{label: Enhancement}} Add new `mask` parameter to `foo` to allow masking of values.
\```

\```release-note
{{label: Bug fix}} Fix endless loop in `foo` if NaN is passed as input. 
\```

This would basically override the pull request title (as it already does) and additionally the labels. Personally I'd like to have this option to address cases where the pull requests scoping is difficult.

Still brainstorming an approach to account for many-to-1sum. Maybe something like

\```release-note
{{link: #2381}}
\```

I am not settled on the syntax or details yet. But I am curious what you think?

Proposal: enable project specific configuration via pyproject.toml

Would allow customization for

  • the regular expressions matching PR labels
  • Header customization. Though I think the scope of changelist should be automation of the stuff that's repetitive and really annoying to do manually. So this aspect could be very lightweight.
  • ignored user logins

Credit new contributors

The release notes generator we used previously generated credit for new contributors:

New Contributors

 • @some-person-name made their first contribution in #57

This would be nice to have!

GH release tools

A release looks something like this:

$ changelist ${ORG}/${REPO} v${PREVIOUS} main --version ${VERSION} >> ${VERSION}.md
$ # Add ${VERSION}.md to CHANGELOG.md
$ # Update `version` in `pyproject.toml`
$ git add pyproject.toml CHANGELOG.md
$ git commit -m "Designate ${VERSION} release"
$ git tag -s v${VERSION} -m "signed ${VERSION} tag"
$ git push --tags origin main
$ # Make a github release from the tag

The first two manual steps are project specific and can be easily scripted there or handled manually.

However, it would be nice to help automate the last manual step so I could use changelist to create a GitHub release for the tagged release with ${VERSION}.md as the body or note and v${VERSION} as the title (with the option for it to be a pre-release).

https://pygithub.readthedocs.io/en/latest/github_objects/GitRelease.html

Add newline after headings

Currently most of the projects use prettier to autoformat markdown. I think changelist should generate markdown that passes the standard .pre-commit-config.yaml we've been using. For example, like the one changelist uses itself.

There may be other issues, but when I generated the CHANGELOG entry for changelist 0.2 the linter had to add a newline after the headings (e.g., ## Enhancements).

2023-09-25T07:39:13,220735089-07:00

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.