ghapi icon indicating copy to clipboard operation
ghapi copied to clipboard

Create examples

Open jph00 opened this issue 4 years ago • 2 comments

Here's some examples we could create for ghapi without gh actions - show both Python and CLI (where appropriate) how-tos:

  • Basic tutorial on finding operations, key concepts, etc
  • Equivalent of some gh commands
    • Create an issue
    • Create a gist
    • View a gist
    • Download a release asset
    • Fork and clone a repo
  • Ping a webhook
  • Run a workflow
  • View an issue and reply/close with template response
    • Search for an issue
    • Discuss pagination
    • Show issues/PRs you are assigned to; show those that aren't assigned
  • Add text to a file in a repo
  • Show all added or updated issues and PRs in last hours, except updates from user
    • For a repo; for a user; for an org
    • Show those without a reply for days
  • Plot # forks and clones by day for last month
  • Render markdown
  • fastrelease

Here's some examples we could create for ghapi with gh actions (just show Python how-tos):

  • Check PRs are in an acceptable format, and it not, add a PR reply explaining how to fix, and create a CI fail
  • Multi-OS go build and release (copy over from hugo-mathjax)
  • Use pip cache
  • Lock stale issues/PRs
  • More examples

jph00 avatar Dec 01 '20 17:12 jph00

Some examples that I think would be helpful based on things I see people trying to do with Actions:

  • Chatops commands in PRs to do something like the /preview command I have on fastpages that deploys the branch to Netlify. This usually involves getting the head ref for the PR that is commented on.
  • Chatops command to kick off an ML run using ssh (e.g with paramiko)

Things that do not involve Actions at all:

  • Convert fastwebhook to an Actions release event listener

hamelsmu avatar Dec 01 '20 18:12 hamelsmu

Some more ideas:

  • An app that does a semantic similarity search anytime someone opens an issue against all other issues and also against the fastai forums, to detect cases where the question has already been answered. If something close enough is found, a comment gets dropped into the issue suggesting that something could be related.
  • Use the API to gather all the issues from all fastai repos and put them into a centralized project board as cards so we can have global view of all issues and prioritize them.
  • A service that would allow "subscribe" to any repo of your choice. Let's say you want to be notified anytime a repository like Hugo is changed in master, you want to be sent a signal so that you can take some action. This is a very common use case for things people want to in GitHub (kind of like what we are doing with hugo-mathjax).
  • Gather all of your notifications and rank them according to some criteria, And if there is enough data for a user train a model to rank these notifications according to some signal(s), like if you interacted with an issue or not. A good use case for real-world ML and dealing with things like feedback loops.
  • Label issues with machine learning - lets say you want to categorize issues so that you may more easily organize and triage them. This is could be a use case of "real world, messy learning in production" that everyone can see end to end
  • Automatically assign a reviewer on a PR depending on some metrics you pull from git blame
  • When CI fails on a pull request, notify the original author with a comment that they need to fix the broken issue, and provide a link to the logs of the failing Action run. This might help new people who dont' have much experience with CI.
  • Pull CI status of all active workflows from all repos into a global place so we know if CI on any fastai repos are broken. Right now, we don't have great global visibility into all of them, and I don't feel like I can pay attention with all the notification spam I get.
  • Use a language model to suggest docstrings where they don't exist for python code. This is actually pretty fun! And I can supply a large parallel corpus of functions <-> docstrings from open datasets.

hamelsmu avatar Dec 02 '20 05:12 hamelsmu