Add a `check-in.sh` script to automate writing markdown links

Example usage:

```
$ ./check-in.sh
usage: ./check-in.sh <since> <number-of-prs-merged>
$ ./check-in.sh 2020-09-03
usage: ./check-in.sh <since> <number-of-prs-merged>
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:
```
This commit is contained in:
Joshua Nelson 2020-10-21 18:25:54 -04:00 committed by Joshua Nelson
parent 61feec113f
commit 3f9ed29687
1 changed files with 34 additions and 0 deletions

34
ci/check-in.sh Executable file
View File

@ -0,0 +1,34 @@
#!/bin/sh
set -eu
# This is not a very smart script
if [ $# != 2 ]; then
echo "usage: $0 <since> <number-of-prs-merged>"
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