Skip to content

Latest commit

 

History

History
84 lines (61 loc) · 1.39 KB

README.md

File metadata and controls

84 lines (61 loc) · 1.39 KB

Hanami Contributors

Display all Hanami contributors on the one page.

How it works

GitHub Actions daily job that:

  1. fetches the contributions data from GitHub and stores it in a local SQLite database (db/production.db)
  2. rebuilds the website

JSON API

GET /api/contributors

{
  "count": Integer,
  "data":[{
    "github": String,
    "avatar_url": String,
    "since": "2017-03-08 09:00:56 UTC",
    "commits_count": Integer
  },
  ...
  ]
}

GET /api/contributors/:github

{
  "status": "ok",
  "contributor": {
    "github": String,
    "avatar_url": String,
    "since": "2017-03-08 09:00:56 UTC",
    "commits": [{
      "url": String,
      "title": String,
      "created_at": "2017-03-08 09:00:56 UTC"
    },
    ...
  }
}

Development

Prerequisites

  • Make
  • Go 1.18+ (only for import.go)
    • musl-cross (brew install FiloSottile/musl-cross/musl-cross)

Setup

Generate a new GitHub Token (no scope is required).

⚡make dev
⚡nvim .envrc # add your GitHub Token

Import

import.go imports all the repositories, commits, and commit authors from Hanami GitHub organization and stores them into db/production.db

To run the import logic locally:

⚡make run

To build the import logic for GitHub Actions:

⚡make build

License

Check LICENSE.txt file