forked from abensur/github-activity-digest
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
107 lines (104 loc) · 3.24 KB
/
action.yml
File metadata and controls
107 lines (104 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
name: 'GitHub Activity Digest'
description: 'Generate AI-powered weekly summaries of GitHub repository activity'
author: 'Rafael Abensur'
branding:
icon: 'activity'
color: 'purple'
inputs:
mode:
description: 'Source mode: organization, user, topics, file, or list'
required: false
default: 'organization'
organization:
description: 'GitHub organization name (for organization mode)'
required: false
user:
description: 'GitHub username (for user mode)'
required: false
topics:
description: 'Comma-separated topics (for topics mode)'
required: false
repositories:
description: 'Comma-separated owner/repo list (for list mode)'
required: false
days:
description: 'Number of days to look back'
required: false
default: '7'
ai-provider:
description: 'AI provider: anthropic or openai'
required: false
default: 'anthropic'
ai-model:
description: 'AI model to use'
required: false
default: 'claude-sonnet-4-20250514'
language:
description: 'Output language for the summary'
required: false
default: 'English'
max-repos:
description: 'Maximum number of repositories to process'
required: false
default: '500'
exclude-repos:
description: 'Comma-separated patterns to exclude'
required: false
include-repos:
description: 'Comma-separated patterns to include'
required: false
only-public:
description: 'Only include public repositories'
required: false
default: 'false'
only-private:
description: 'Only include private repositories'
required: false
default: 'false'
archive-dir:
description: 'Directory to save summaries'
required: false
default: 'archive'
output-format:
description: 'Output format: markdown, json, or both'
required: false
default: 'markdown'
slack-webhook:
description: 'Slack incoming webhook URL for notifications'
required: false
discord-webhook:
description: 'Discord webhook URL for notifications'
required: false
outputs:
summary:
description: 'The generated summary content'
summary-file:
description: 'Path to the saved summary file'
json-file:
description: 'Path to JSON file (if output-format includes json)'
repos-processed:
description: 'Number of repositories processed'
active-repos:
description: 'Number of repositories with activity'
runs:
using: 'docker'
image: 'Dockerfile'
env:
INPUT_MODE: ${{ inputs.mode }}
INPUT_ORGANIZATION: ${{ inputs.organization }}
INPUT_USER: ${{ inputs.user }}
INPUT_TOPICS: ${{ inputs.topics }}
INPUT_REPOSITORIES: ${{ inputs.repositories }}
INPUT_DAYS: ${{ inputs.days }}
INPUT_AI_PROVIDER: ${{ inputs.ai-provider }}
INPUT_AI_MODEL: ${{ inputs.ai-model }}
INPUT_LANGUAGE: ${{ inputs.language }}
INPUT_MAX_REPOS: ${{ inputs.max-repos }}
INPUT_EXCLUDE_REPOS: ${{ inputs.exclude-repos }}
INPUT_INCLUDE_REPOS: ${{ inputs.include-repos }}
INPUT_ONLY_PUBLIC: ${{ inputs.only-public }}
INPUT_ONLY_PRIVATE: ${{ inputs.only-private }}
INPUT_ARCHIVE_DIR: ${{ inputs.archive-dir }}
INPUT_OUTPUT_FORMAT: ${{ inputs.output-format }}
INPUT_SLACK_WEBHOOK: ${{ inputs.slack-webhook }}
INPUT_DISCORD_WEBHOOK: ${{ inputs.discord-webhook }}