-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
129 lines (126 loc) · 3.87 KB
/
action.yml
File metadata and controls
129 lines (126 loc) · 3.87 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
name: 'ExFig Action'
description: 'Export Figma assets (colors, icons, images, typography) using ExFig CLI'
author: 'Aleksei Kakoulin'
branding:
icon: 'download'
color: 'purple'
inputs:
figma_token:
description: 'Figma Personal Access Token'
required: true
command:
description: 'ExFig command to run: colors, icons, images, typography, batch, fetch, download, lint'
required: true
config:
description: 'Path to exfig.pkl config file (comma-separated for batch)'
required: false
default: 'exfig.pkl'
filter:
description: 'Filter pattern for assets (e.g., "icon/*")'
required: false
version:
description: 'ExFig version to use (default: latest)'
required: false
default: 'latest'
cache:
description: 'Enable caching for incremental exports'
required: false
default: 'false'
cache_path:
description: 'Path to cache file'
required: false
default: '.exfig-cache.json'
cache_key_prefix:
description: 'Prefix for cache key'
required: false
default: 'exfig-cache'
granular_cache:
description: 'Enable experimental granular caching'
required: false
default: 'false'
concurrent_downloads:
description: 'CDN download parallelism (number of concurrent downloads)'
required: false
default: ''
timeout:
description: 'API timeout in seconds'
required: false
default: ''
fail_fast:
description: 'Stop on first batch error'
required: false
default: 'false'
report:
description: 'Path to write JSON report file'
required: false
default: ''
rate_limit:
description: 'Figma API rate limit (requests per second)'
required: false
default: '10'
max_retries:
description: 'Maximum retries for failed API requests'
required: false
default: '3'
output_dir:
description: 'Output directory for exported assets'
required: false
verbose:
description: 'Enable verbose logging'
required: false
default: 'false'
extra_args:
description: 'Additional CLI arguments to pass to ExFig (e.g., "--force --dry-run")'
required: false
default: ''
slack_webhook:
description: 'Slack Incoming Webhook URL for notifications'
required: false
slack_mention:
description: 'User/group to mention on failure (U123, S456, @channel, or full Slack format)'
required: false
default: ''
lint_rules:
description: 'Comma-separated lint rule IDs to run (lint command only)'
required: false
default: ''
lint_severity:
description: 'Minimum lint severity: error, warning, or info (lint command only)'
required: false
default: 'info'
slack_templates:
description: 'Path to custom Slack templates directory (overrides defaults)'
required: false
default: ''
outputs:
assets_exported:
description: 'Number of assets exported'
changed_files:
description: 'List of changed files (newline-separated)'
cache_hit:
description: 'Whether cache was restored'
exit_code:
description: 'ExFig command exit code (0 = success)'
failed_count:
description: 'Number of failed configs in batch mode'
duration:
description: 'Execution duration in seconds'
config_summary:
description: 'Summary of config files processed (for batch command)'
validated_count:
description: 'Number of configs validated from cache (no changes)'
exported_configs:
description: 'Number of configs that exported new assets'
error_category:
description: 'Error category code (RATE_LIMIT, TIMEOUT, AUTH, etc.)'
error_message:
description: 'First error message from failed config (truncated to 100 chars)'
report_json:
description: 'Raw JSON report content (from --report)'
lint_errors:
description: 'Number of lint errors found (lint command only)'
lint_warnings:
description: 'Number of lint warnings found (lint command only)'
runs:
using: 'node24'
main: 'dist/index.js'