From 3f9ed29687e083feb7069b2dd965013e1bd10819 Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Wed, 21 Oct 2020 18:25:54 -0400 Subject: [PATCH] Add a `check-in.sh` script to automate writing markdown links Example usage: ``` $ ./check-in.sh usage: ./check-in.sh $ ./check-in.sh 2020-09-03 usage: ./check-in.sh help: you can find the number of PRs merged at https://github.com/rust-lang/rustc-dev-guide/pulls?q=is%3Apr+is%3Aclosed+updated%3A%3E2020-09-03 $ ./check-in.sh 2020-09-03 72 Authors: - **@1c3t3a** - **@arora-aman** ... snip ... Changes: - Replace links to `buildbot2.r-l.o` with `bors.r-l.o` [#929](https://github.com/rust-lang/rustc-dev-guide/pull/929) - Add reference PRs for `r?` and `r+` comments [#928](https://github.com/rust-lang/rustc-dev-guide/pull/928) ... snip ... Changes in progress: ``` --- ci/check-in.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 ci/check-in.sh diff --git a/ci/check-in.sh b/ci/check-in.sh new file mode 100755 index 00000000..d41a7ae5 --- /dev/null +++ b/ci/check-in.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +set -eu + +# This is not a very smart script +if [ $# != 2 ]; then + echo "usage: $0 " + if [ $# = 1 ] ; then + echo "help: you can find the number of PRs merged at" \ + "https://github.com/rust-lang/rustc-dev-guide/pulls?q=is%3Apr+is%3Aclosed+updated%3A%3E$1" + fi + exit 1 +fi + +curl() { + command curl -s "$@" +} + +# Get recently updated PRs +curl "https://api.github.com/repos/rust-lang/rustc-dev-guide/pulls?state=closed&per_page=$2" \ + | jq '[.[] | select(.merged_at > "'"$1"'")]' > pulls.json + +show_pulls() { + jq -r '.[] | { title, number, html_url, user: .user.login } | "- " + .title + " [#" + (.number | tostring) + "](" + .html_url + ")"' +} + +echo "Authors:" +jq -r '{ login: .[].user.login } | "- **@" + .login + "**"' < pulls.json | sort -u +echo "Changes:" +show_pulls < pulls.json +echo "Changes in progress:" +# If there are more than 30 PRs open at a time, you'll need to set `per_page`. +# For now this seems unlikely. +curl "https://api.github.com/repos/rust-lang/rustc-dev-guide/pulls?state=open" | show_pulls