forked from xavius-rb/agile-metrics-action
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
144 lines (111 loc) · 3.63 KB
/
Copy pathaction.yml
File metadata and controls
144 lines (111 loc) · 3.63 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
name: 'Agile Metrics Collector'
description:
'Collect deployment frequency and lead time for change metrics from GitHub
repositories'
author: 'xavius-rb'
# Add your action's branding here. This will appear on the GitHub Marketplace.
branding:
icon: 'trending-up'
color: 'blue'
# Define your inputs here.
inputs:
github-token:
description: 'GitHub token for API access'
required: true
default: ${{ github.token }}
output-path:
description: 'Path where metrics JSON file will be saved'
required: false
default: 'metrics/delivery_metrics.json'
commit-results:
description: 'Whether to commit the metrics file back to the repository'
required: false
default: 'true'
include-merge-commits:
description: 'Whether to include merge commits in lead time calculations'
required: false
default: 'false'
max-releases:
description: 'Maximum number of releases to fetch for analysis'
required: false
default: '100'
max-tags:
description: 'Maximum number of tags to fetch if no releases are found'
required: false
default: '100'
deployment-frequency:
description: 'Whether to enable deployment frequency metric collection'
required: false
default: 'false'
lead-time:
description: 'Whether to enable lead time for change metric collection'
required: false
default: 'false'
pr-size:
description: 'Whether to enable PR size metric collection'
required: false
default: 'false'
pr-maturity:
description: 'Whether to enable PR maturity metric collection'
required: false
default: 'false'
files-to-ignore:
description:
'Comma-separated list of file patterns to ignore when calculating PR size'
required: false
default: ''
ignore-line-deletions:
description: 'Whether to ignore line deletions when calculating PR size'
required: false
default: 'false'
ignore-file-deletions:
description: 'Whether to ignore file deletions when calculating PR size'
required: false
default: 'false'
team-metrics:
description: 'Whether to enable team metrics collection'
required: false
default: 'false'
time-period:
description: 'Time period for team metrics (weekly, fortnightly, monthly)'
required: false
default: 'weekly'
team-metrics-output-path:
description: 'Path where team metrics report will be saved'
required: false
default: 'metrics/team_metrics_report.md'
# Define your outputs here.
outputs:
metrics-json:
description: 'Complete metrics data as JSON string'
deployment-frequency:
description: 'Days between latest and previous deployment'
lead-time-avg:
description: 'Average lead time for change in hours'
lead-time-oldest:
description: 'Oldest commit lead time in hours'
lead-time-newest:
description: 'Newest commit lead time in hours'
commit-count:
description: 'Number of commits analyzed'
metrics-file-path:
description: 'Path to the generated metrics file'
pr-size:
description: 'PR size metric (xs, s, m, l, xl)'
pr-size-category:
description: 'PR size category with size/ prefix'
pr-size-details:
description: 'Detailed PR size metrics as JSON string'
pr-maturity-ratio:
description: 'PR maturity ratio (0.0 to 1.0)'
pr-maturity-percentage:
description: 'PR maturity percentage (0 to 100)'
pr-maturity-details:
description: 'Detailed PR maturity metrics as JSON string'
team-metrics-json:
description: 'Complete team metrics data as JSON string'
team-metrics-report-path:
description: 'Path to the generated team metrics report file'
runs:
using: node24
main: dist/index.js