Git Product home page Git Product logo

relnotes's Introduction

relnotes: Generate release notes for "The Rust Programming Language"

This utility pulls all pull requests made against rust-lang/rust and rust-lang/cargo within the latest release cycle and prints out a markdown document containing all the pull requests, categorised into their respective sections where possible, and prints the document to stdout.

Requirements

relnotes uses the GitHub API to generate the release notes, as such you need a valid GitHub API key. relnotes will look for GITHUB_TOKEN in the environment and use that key when sending requests.

small warning: relnotes makes a lot of requests as GitHub only allows you to look at 100 PRs in a single page. It is not recommended to call relnotes multiple times as you can hit the GitHub's rate limit quite easily. Please refer to GitHub's Rate Limit documentation for more information.

Usage

version_number is the version number of the rust release. e.g. 1.28.0

cargo run --release <version_number> > release.md

relnotes's People

Contributors

computerdruid avatar cuviper avatar dependabot-preview[bot] avatar dependabot[bot] avatar joshtriplett avatar mark-simulacrum avatar pnkfelix avatar tmandry avatar xampprocky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

relnotes's Issues

relnotes doesn't ~~work~~ give a good error message with fine-grained API Token

GitHub has launched Fine-grained personal access tokens, but they apparently don't work with the GraphQL API yet

That's not really a problem, since you can still generate and use a classic token. But the error message is a little hard to diagnose:

$ cargo run --release 1.68.0 | tee notes.md
    Finished release [optimized] target(s) in 0.09s
     Running `target/release/relnotes 1.68.0`
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/main.rs:177:52
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The json it's giving back turns out to be:

{"documentation_url":"https://docs.github.com/graphql/guides/forming-calls-with-graphql#authenticating-with-graphql","message":"Personal access tokens with fine grained access do not support the GraphQL API"}

Which is easy enough to understand, we should probably just surface that somewhere.

rust

I love you rust lang

Please don't use footnote links when generating release notes

When pruning the generated list of merged PRs, it's painful to keep the list of PRs and the list of links in sync. I think we should generate normal links, rather than footnote links, making it easy to curate the list.

I don't think this will make the release notes any less readable; the links aren't long, and the rendered version will look identical.

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.