Files
ghstats/action.yml
T
tiennm99 939fcdc33a feat: count org repos and fix contribution-window truncation
Split each contribution year into quarterly windows.
commitContributionsByRepository caps at 100 repos per query and drops
the remainder without signalling it, which a prolific year hits: 2026
returned exactly 100 where the quarterly union returns 108. Warn when a
window still comes back at the ceiling instead of reporting a complete
list.

Add -include-org-repos / include_org_repos so org-owned repos the user
administers count toward stars, repo count, repos-per-language and
top-starred. Off by default, since enabling it moves those totals for
every existing caller. Commit-driven cards already covered org repos
through the seed list. Org repos carrying only read or write access are
dropped via viewerPermission.

Rename Profile.PublicRepos to RepoCount and drop "public" from the card
label: the count tracks the fetch filters and includes private repos
whenever the token can see them.
2026-08-13 13:20:41 +07:00

81 lines
2.6 KiB
YAML

name: ghstats-cards
description: Generate GitHub profile summary SVG cards (profile, languages, stats, productive time, contributions)
author: tiennm99
branding:
icon: bar-chart-2
color: purple
inputs:
user:
description: GitHub username to summarize
required: true
token:
description: |
Personal access token (classic PAT) with at least `read:user` and `repo` scopes.
The default GITHUB_TOKEN works for public repos but has no access to private stats.
required: false
default: ${{ github.token }}
out:
description: Output directory for the generated SVG cards
required: false
default: output
themes:
description: Comma-separated theme ids, or `all` to render every theme
required: false
default: dracula
tz:
description: IANA timezone for the productive-time heatmap (e.g. Asia/Saigon)
required: false
default: UTC
start_of_week:
description: First day of week for heatmap rows and weekday bars (sunday|monday|tuesday|…)
required: false
default: sunday
top_repos:
description: Optional cap on seed repos probed for commit history (0 = unlimited)
required: false
default: "0"
commits_per_repo:
description: Max commits sampled per repo (covers last-year and all-time aggregates)
required: false
default: "500"
include_forks:
description: Include forked repos in stats and commit probing
required: false
default: "true"
include_private:
description: Include private repos (requires PAT with repo scope; silently no-op otherwise)
required: false
default: "true"
include_org_repos:
description: |
Count org-owned repos you administer toward stars, repo count, repos-per-language
and top-starred. Off by default because it changes those totals; commit-based cards
already include org repos either way. Needs a PAT with `read:org`.
required: false
default: "false"
commit_changes:
description: Whether to commit the generated cards back to the repo
required: false
default: "false"
commit_message:
description: Commit message used when commit_changes is true
required: false
default: "chore: update ghstats cards"
commit_branch:
description: Branch to commit to (defaults to the current ref)
required: false
default: ""
author_name:
description: Git author name for auto-commit
required: false
default: "github-actions[bot]"
author_email:
description: Git author email for auto-commit
required: false
default: "41898282+github-actions[bot]@users.noreply.github.com"
runs:
using: docker
image: Dockerfile