Skip to content

Plot summaries of lines of code written

License

Notifications You must be signed in to change notification settings

casperdcl/ghstat

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

ghstat

Automatically plot total lines of code (LoC) written.

Full breakdown

Usage

Workflow

Requirements:

  • python3
    • e.g. uses: actions/setup-python@v2
  • secrets
    • a personal access token with scopes:
      • repo
      • read:user (optional)
      • gist (optional)
    • a gist ID which will store the generated graphs (optional)

Example:

name: ghstat
on:
  push:
  schedule:
    - cron: '0 0 * * *'  # every midnight
jobs:
  ghstat:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/setup-python@v2
    - uses: casperdcl/ghstat@v2
      with:
        github-token: ${{ secrets.GH_TOKEN }}
        gist-id: ${{ secrets.GIST_ID }}
        # user: casperdcl  # default inferred from github-token
        # author: 'Casper da Costa-Luis'  # for `git log --author`, default inferred
        # repos-incl: '' # space separated list (e.g. myuser/arepo myorg/arepo)
        # repos-skip: '' # space separated list (e.g. myuser/arepo myorg/arepo conda-forge)
        # lang-names: '' # space separated list (e.g. conf:INI cuh:Cuda)

Using a GIST_ID of 7f351ce61f01cfcfb5cfa53097954435, the result is visible at https://gist.github.com/casperdcl/7f351ce61f01cfcfb5cfa53097954435.

Running locally

Python and ${GH_TOKEN} are required; other env vars are optional.

python -m pip install -r requirements.txt
GH_TOKEN=... \
  AUTHOR=... \
  GH_USER=... \
  REPOS_INCL=... \
  REPOS_SKIP=... \
  GH_GIST_ID=... \
  LANG_NAMES=... \
  bash ghstat.sh