Files
metrics/action.yml
2023-11-13 20:46:03 -05:00

1608 lines
41 KiB
YAML
Generated

# ====================================================================================
# Inputs and configuration
inputs:
# ====================================================================================
# 🗃️ Base content
base:
description: Base content
default: <default-value>
base_indepth:
description: Indepth mode
default: <default-value>
base_hireable:
description: Show `Available for hire!` in header section
default: <default-value>
base_skip:
description: Skip base content
default: <default-value>
repositories:
description: Fetched repositories
default: <default-value>
repositories_batch:
description: Fetched repositories per query
default: <default-value>
repositories_forks:
description: Include forks
default: <default-value>
repositories_affiliations:
description: Repositories affiliations
default: <default-value>
repositories_skipped:
description: Default skipped repositories
default: <default-value>
users_ignored:
description: Default ignored users
default: <default-value>
commits_authoring:
description: Identifiers that has been used for authoring commits
default: <default-value>
# ====================================================================================
# 🧱 Core
token:
description: GitHub Personal Access Token
required: true
user:
description: GitHub username
default: <default-value>
repo:
description: GitHub repository
default: <default-value>
committer_token:
description: GitHub Token used to commit metrics
default: ${{ github.token }}
committer_branch:
description: Target branch
default: <default-value>
committer_message:
description: Commit message
default: <default-value>
committer_gist:
description: Gist id
default: <default-value>
filename:
description: Output path
default: <default-value>
markdown:
description: Markdown template path
default: <default-value>
markdown_cache:
description: Markdown file cache
default: <default-value>
output_action:
description: Output action
default: <default-value>
output_condition:
description: Output condition
default: <default-value>
optimize:
description: Optimization features
default: <default-value>
setup_community_templates:
description: Community templates to setup
default: <default-value>
template:
description: Template
default: <default-value>
query:
description: Query parameters
default: <default-value>
extras_css:
description: Extra CSS
default: <default-value>
extras_js:
description: Extra JavaScript
default: <default-value>
github_api_rest:
description: GitHub REST API endpoint
default: <default-value>
github_api_graphql:
description: GitHub GraphQL API endpoint
default: <default-value>
config_timezone:
description: Timezone for dates
default: ""
config_order:
description: Plugin order
default: <default-value>
config_twemoji:
description: Use twemojis
default: <default-value>
config_gemoji:
description: Use GitHub custom emojis
default: <default-value>
config_octicon:
description: Use GitHub octicons
default: <default-value>
config_display:
description: Display width (for image output formats)
default: <default-value>
config_animations:
description: Use CSS animations
default: <default-value>
config_base64:
description: Base64-encoded images
default: <default-value>
config_padding:
description: Output padding
default: <default-value>
config_output:
description: Output format
default: <default-value>
config_presets:
description: Configuration presets
default: ""
retries:
description: Retries in case of failures (for rendering)
default: <default-value>
retries_delay:
description: Delay between each retry (in seconds, for rendering)
default: <default-value>
retries_output_action:
description: Retries in case of failures (for output action)
default: <default-value>
retries_delay_output_action:
description: Delay between each retry (in seconds, for output action)
default: <default-value>
clean_workflows:
description: Clean previous workflows jobs
default: <default-value>
delay:
description: Job delay
default: <default-value>
quota_required_rest:
description: Minimum GitHub REST API requests quota required to run
default: <default-value>
quota_required_graphql:
description: Minimum GitHub GraphQL API requests quota required to run
default: <default-value>
quota_required_search:
description: Minimum GitHub Search API requests quota required to run
default: <default-value>
notice_releases:
description: Notice about new releases of metrics
default: <default-value>
use_prebuilt_image:
description: >-
Use pre-built docker image from [GitHub container
registry](https://github.com/lowlighter/metrics/pkgs/container/metrics)
default: yes
plugins_errors_fatal:
description: Fatal plugin errors
default: <default-value>
debug:
description: Debug mode
default: <default-value>
verify:
description: SVG validity check
default: <default-value>
debug_flags:
description: Debug flags
default: <default-value>
debug_print:
description: Print output in console
default: <default-value>
dryrun:
description: Dry-run
default: <default-value>
experimental_features:
description: Experimental features
default: <default-value>
use_mocked_data:
description: Use mocked data instead of live APIs
default: <default-value>
# ====================================================================================
# 📅 Isometric commit calendar
plugin_isocalendar:
description: Enable isocalendar plugin
default: <default-value>
plugin_isocalendar_duration:
description: Time range
default: <default-value>
# ====================================================================================
# 🈷️ Languages activity
plugin_languages:
description: Enable languages plugin
default: <default-value>
plugin_languages_ignored:
description: Ignored languages
default: <default-value>
plugin_languages_skipped:
description: Skipped repositories
default: <default-value>
plugin_languages_limit:
description: Display limit
default: <default-value>
plugin_languages_threshold:
description: Display threshold (percentage)
default: <default-value>
plugin_languages_other:
description: Group unknown, ignored and over-limit languages into "Other" category
default: <default-value>
plugin_languages_colors:
description: Custom languages colors
default: <default-value>
plugin_languages_aliases:
description: Custom languages names
default: <default-value>
plugin_languages_sections:
description: Displayed sections
default: <default-value>
plugin_languages_details:
description: Additional details
default: <default-value>
plugin_languages_indepth:
description: Indepth mode
default: <default-value>
plugin_languages_indepth_custom:
description: Indepth mode - Custom repositories
default: <default-value>
plugin_languages_analysis_timeout:
description: Indepth mode - Analysis timeout
default: <default-value>
plugin_languages_analysis_timeout_repositories:
description: Indepth mode - Analysis timeout (repositories)
default: <default-value>
plugin_languages_categories:
description: Indepth mode - Displayed categories (most-used section)
default: <default-value>
plugin_languages_recent_categories:
description: Indepth mode - Displayed categories (recently-used section)
default: <default-value>
plugin_languages_recent_load:
description: Indepth mode - Events to load (recently-used section)
default: <default-value>
plugin_languages_recent_days:
description: Indepth mode - Events maximum age (day, recently-used section)
default: <default-value>
# ====================================================================================
# ✨ Stargazers
plugin_stargazers:
description: Enable stargazers plugin
default: <default-value>
plugin_stargazers_days:
description: Time range
default: <default-value>
plugin_stargazers_charts:
description: Charts
default: <default-value>
plugin_stargazers_charts_type:
description: Charts display type
default: <default-value>
plugin_stargazers_worldmap:
description: Stargazers worldmap
default: <default-value>
plugin_stargazers_worldmap_token:
description: Stargazers worldmap token
default: <default-value>
plugin_stargazers_worldmap_sample:
description: Stargazers worldmap sample
default: <default-value>
# ====================================================================================
# 👨‍💻 Lines of code changed
plugin_lines:
description: Enable lines plugin
default: <default-value>
plugin_lines_skipped:
description: Skipped repositories
default: <default-value>
plugin_lines_sections:
description: Displayed sections
default: <default-value>
plugin_lines_repositories_limit:
description: Display limit
default: <default-value>
plugin_lines_history_limit:
description: Years to display
default: <default-value>
plugin_lines_delay:
description: Delay before performing a second query
default: <default-value>
# ====================================================================================
# 📌 Starred topics
plugin_topics:
description: Enable topics plugin
default: <default-value>
plugin_topics_mode:
description: Display mode
default: <default-value>
plugin_topics_sort:
description: Sorting method
default: <default-value>
plugin_topics_limit:
description: Display limit
default: <default-value>
# ====================================================================================
# 🌟 Recently starred repositories
plugin_stars:
description: Enable stars plugin
default: <default-value>
plugin_stars_limit:
description: Display limit
default: <default-value>
# ====================================================================================
# 📜 Repository licenses
plugin_licenses:
description: Enable licenses plugin
default: <default-value>
plugin_licenses_setup:
description: Setup command
default: <default-value>
plugin_licenses_ratio:
description: Used licenses ratio
default: <default-value>
plugin_licenses_legal:
description: Permissions, limitations and conditions about used licenses
default: <default-value>
# ====================================================================================
# 💡 Coding habits and activity
plugin_habits:
description: Enable habits plugin
default: <default-value>
plugin_habits_from:
description: Events to use
default: <default-value>
plugin_habits_skipped:
description: Skipped repositories
default: <default-value>
plugin_habits_days:
description: Event maximum age
default: <default-value>
plugin_habits_facts:
description: Mildly interesting facts
default: <default-value>
plugin_habits_charts:
description: Charts
default: <default-value>
plugin_habits_charts_type:
description: Charts display type
default: <default-value>
plugin_habits_trim:
description: Trim unused hours on charts
default: <default-value>
plugin_habits_languages_limit:
description: Display limit (languages)
default: <default-value>
plugin_habits_languages_threshold:
description: Display threshold (percentage)
default: <default-value>
# ====================================================================================
# 🏅 Repository contributors
plugin_contributors:
description: Enable contributors plugin
default: <default-value>
plugin_contributors_base:
description: Base reference
default: <default-value>
plugin_contributors_head:
description: Head reference
default: <default-value>
plugin_contributors_ignored:
description: Ignored users
default: <default-value>
plugin_contributors_contributions:
description: Contributions count
default: <default-value>
plugin_contributors_sections:
description: Displayed sections
default: <default-value>
plugin_contributors_categories:
description: Contribution categories
default: <default-value>
# ====================================================================================
# 🎟️ Follow-up of issues and pull requests
plugin_followup:
description: Enable followup plugin
default: <default-value>
plugin_followup_sections:
description: Displayed sections
default: <default-value>
plugin_followup_indepth:
description: Indepth analysis
default: <default-value>
plugin_followup_archived:
description: Include archived repositories
default: <default-value>
# ====================================================================================
# 🎭 Comment reactions
plugin_reactions:
description: Enable reactions plugin
default: <default-value>
plugin_reactions_limit:
description: Display limit (issues and pull requests comments)
default: <default-value>
plugin_reactions_limit_issues:
description: Display limit (issues and pull requests, first comment)
default: <default-value>
plugin_reactions_limit_discussions:
description: Display limit (discussions, first comment)
default: <default-value>
plugin_reactions_limit_discussions_comments:
description: Display limit (discussions comments)
default: <default-value>
plugin_reactions_days:
description: Comments maximum age
default: <default-value>
plugin_reactions_display:
description: Display mode
default: <default-value>
plugin_reactions_details:
description: Additional details
default: <default-value>
plugin_reactions_ignored:
description: Ignored users
default: <default-value>
# ====================================================================================
# 🧑‍🤝‍🧑 People
plugin_people:
description: Enable people plugin
default: <default-value>
plugin_people_limit:
description: Display limit
default: <default-value>
plugin_people_identicons:
description: Force identicons pictures
default: <default-value>
plugin_people_identicons_hide:
description: Hide identicons pictures
default: <default-value>
plugin_people_size:
description: Profile picture display size
default: <default-value>
plugin_people_types:
description: Displayed sections
default: <default-value>
plugin_people_thanks:
description: Special thanks
default: <default-value>
plugin_people_sponsors_custom:
description: Custom sponsors
default: <default-value>
plugin_people_shuffle:
description: Shuffle data
default: <default-value>
# ====================================================================================
# 💝 GitHub Sponsorships
plugin_sponsorships:
description: Enable sponsorships plugin
default: <default-value>
plugin_sponsorships_sections:
description: Displayed sections
default: <default-value>
plugin_sponsorships_size:
description: Profile picture display size
default: <default-value>
# ====================================================================================
# 💕 GitHub Sponsors
plugin_sponsors:
description: Enable sponsors plugin
default: <default-value>
plugin_sponsors_sections:
description: Displayed sections
default: <default-value>
plugin_sponsors_past:
description: Past sponsorships
default: <default-value>
plugin_sponsors_size:
description: Profile picture display size
default: <default-value>
plugin_sponsors_title:
description: Title caption
default: <default-value>
# ====================================================================================
# 📓 Featured repositories
plugin_repositories:
description: Enable repositories plugin
default: <default-value>
plugin_repositories_featured:
description: Featured repositories
default: <default-value>
plugin_repositories_pinned:
description: Pinned repositories
default: <default-value>
plugin_repositories_starred:
description: Featured most starred repositories
default: <default-value>
plugin_repositories_random:
description: Featured random repositories
default: <default-value>
plugin_repositories_order:
description: Featured repositories display order
default: <default-value>
plugin_repositories_forks:
description: Include repositories forks
default: <default-value>
plugin_repositories_affiliations:
description: Repositories affiliations
default: <default-value>
# ====================================================================================
# 💬 Discussions
plugin_discussions:
description: Enable discussions plugin
default: <default-value>
plugin_discussions_categories:
description: Discussion categories
default: <default-value>
plugin_discussions_categories_limit:
description: Display limit (categories)
default: <default-value>
# ====================================================================================
# 💫 Star lists
plugin_starlists:
description: Enable starlists plugin
default: <default-value>
plugin_starlists_limit:
description: Display limit (star lists)
default: <default-value>
plugin_starlists_limit_repositories:
description: Display limit (repositories per star list)
default: <default-value>
plugin_starlists_languages:
description: Star lists languages statistics
default: <default-value>
plugin_starlists_limit_languages:
description: Display limit (languages per star list)
default: <default-value>
plugin_starlists_languages_ignored:
description: Ignored languages in star lists
default: <default-value>
plugin_starlists_languages_aliases:
description: Custom languages names in star lists
default: <default-value>
plugin_starlists_shuffle_repositories:
description: Shuffle data
default: <default-value>
plugin_starlists_ignored:
description: Skipped star lists
default: <default-value>
plugin_starlists_only:
description: Showcased star lists
default: <default-value>
# ====================================================================================
# 📆 Commit calendar
plugin_calendar:
description: Enable calendar plugin
default: <default-value>
plugin_calendar_limit:
description: Years to display
default: <default-value>
# ====================================================================================
# 🏆 Achievements
plugin_achievements:
description: Enable achievements plugin
default: <default-value>
plugin_achievements_threshold:
description: Rank threshold filter
default: <default-value>
plugin_achievements_secrets:
description: Secrets achievements
default: <default-value>
plugin_achievements_display:
description: Display style
default: <default-value>
plugin_achievements_limit:
description: Display limit
default: <default-value>
plugin_achievements_ignored:
description: Ignored achievements
default: <default-value>
plugin_achievements_only:
description: Showcased achievements
default: <default-value>
# ====================================================================================
# 🎩 Notable contributions
plugin_notable:
description: Enable notable plugin
default: <default-value>
plugin_notable_filter:
description: Query filter
default: <default-value>
plugin_notable_skipped:
description: Skipped repositories
default: <default-value>
plugin_notable_from:
description: Repository owner account type filter
default: <default-value>
plugin_notable_repositories:
description: Repository name
default: <default-value>
plugin_notable_indepth:
description: Indepth mode
default: <default-value>
plugin_notable_types:
description: Contribution types filter
default: <default-value>
plugin_notable_self:
description: Include own repositories
default: <default-value>
# ====================================================================================
# 📰 Recent activity
plugin_activity:
description: Enable activity plugin
default: <default-value>
plugin_activity_limit:
description: Display limit
default: <default-value>
plugin_activity_load:
description: Events to load
default: <default-value>
plugin_activity_days:
description: Events maximum age
default: <default-value>
plugin_activity_visibility:
description: Events visibility
default: <default-value>
plugin_activity_timestamps:
description: Events timestamps
default: <default-value>
plugin_activity_skipped:
description: Skipped repositories
default: <default-value>
plugin_activity_ignored:
description: Ignored users
default: <default-value>
plugin_activity_filter:
description: Events types
default: <default-value>
# ====================================================================================
# 🧮 Repositories traffic
plugin_traffic:
description: Enable traffic plugin
default: <default-value>
plugin_traffic_skipped:
description: Skipped repositories
default: <default-value>
# ====================================================================================
# ♐ Random code snippet
plugin_code:
description: Enable code plugin
default: <default-value>
plugin_code_lines:
description: Display limit (lines per code snippets)
default: <default-value>
plugin_code_load:
description: Events to load
default: <default-value>
plugin_code_days:
description: Events maximum age
default: <default-value>
plugin_code_visibility:
description: Events visibility
default: <default-value>
plugin_code_skipped:
description: Skipped repositories
default: <default-value>
plugin_code_languages:
description: Showcased languages
default: <default-value>
# ====================================================================================
# 🎫 Gists
plugin_gists:
description: Enable gists plugin
default: <default-value>
# ====================================================================================
# 🗂️ GitHub projects
plugin_projects:
description: Enable projects plugin
default: <default-value>
plugin_projects_limit:
description: Display limit
default: <default-value>
plugin_projects_repositories:
description: Featured repositories projects
default: <default-value>
plugin_projects_descriptions:
description: Projects descriptions
default: <default-value>
# ====================================================================================
# 🙋 Introduction
plugin_introduction:
description: Enable introduction plugin
default: <default-value>
plugin_introduction_title:
description: Section title
default: <default-value>
# ====================================================================================
# 🌇 GitHub Skyline
plugin_skyline:
description: Enable skyline plugin
default: <default-value>
plugin_skyline_year:
description: Displayed year
default: <default-value>
plugin_skyline_frames:
description: Frames count
default: <default-value>
plugin_skyline_quality:
description: Image quality
default: <default-value>
plugin_skyline_compatibility:
description: Compatibility mode
default: <default-value>
plugin_skyline_settings:
description: Advanced settings
default: <default-value>
# ====================================================================================
# 💭 GitHub Community Support
plugin_support:
description: Enable support plugin
default: <default-value>
# ====================================================================================
# ⏱️ Google PageSpeed
plugin_pagespeed:
description: Enable pagespeed plugin
default: <default-value>
plugin_pagespeed_token:
description: PageSpeed token
default: <default-value>
plugin_pagespeed_url:
description: Audited website
default: <default-value>
plugin_pagespeed_detailed:
description: Detailed results
default: <default-value>
plugin_pagespeed_screenshot:
description: Website screenshot
default: <default-value>
plugin_pagespeed_pwa:
description: PWA Status
default: <default-value>
# ====================================================================================
# 🐤 Latest tweets
plugin_tweets:
description: Enable tweets plugin
default: <default-value>
plugin_tweets_token:
description: Twitter API token
default: <default-value>
plugin_tweets_user:
description: Twitter username
default: <default-value>
plugin_tweets_attachments:
description: Tweets attachments
default: <default-value>
plugin_tweets_limit:
description: Display limit
default: <default-value>
# ====================================================================================
# 🗨️ Stack Overflow
plugin_stackoverflow:
description: Enable stackoverflow plugin
default: <default-value>
plugin_stackoverflow_user:
description: Stackoverflow user id
default: <default-value>
plugin_stackoverflow_sections:
description: Displayed sections
default: <default-value>
plugin_stackoverflow_limit:
description: Display limit (entries per section)
default: <default-value>
plugin_stackoverflow_lines:
description: Display limit (lines per questions and answers)
default: <default-value>
plugin_stackoverflow_lines_snippet:
description: Display limit (lines per code snippets)
default: <default-value>
# ====================================================================================
# 🌸 Anilist watch list and reading list
plugin_anilist:
description: Enable aniList plugin
default: <default-value>
plugin_anilist_user:
description: AniList login
default: <default-value>
plugin_anilist_medias:
description: Medias types
default: <default-value>
plugin_anilist_sections:
description: Displayed sections
default: <default-value>
plugin_anilist_limit:
description: Display limit (medias)
default: <default-value>
plugin_anilist_limit_characters:
description: Display limit (characters)
default: <default-value>
plugin_anilist_shuffle:
description: Shuffle data
default: <default-value>
# ====================================================================================
# 🎼 Music activity and suggestions
plugin_music:
description: Enable music plugin
default: <default-value>
plugin_music_provider:
description: Music provider
default: <default-value>
plugin_music_token:
description: Music provider token
default: <default-value>
plugin_music_user:
description: Music provider username
default: <default-value>
plugin_music_mode:
description: Display mode
default: <default-value>
plugin_music_playlist:
description: Playlist URL
default: <default-value>
plugin_music_limit:
description: Display limit
default: <default-value>
plugin_music_played_at:
description: Recently played - Last played timestamp
default: <default-value>
plugin_music_time_range:
description: Top tracks - Time range
default: <default-value>
plugin_music_top_type:
description: Top tracks - Display type
default: <default-value>
# ====================================================================================
# ✒️ Recent posts
plugin_posts:
description: Enable posts plugin
default: <default-value>
plugin_posts_source:
description: External source
default: <default-value>
plugin_posts_user:
description: External source username
default: <default-value>
plugin_posts_descriptions:
description: Posts descriptions
default: <default-value>
plugin_posts_covers:
description: Posts cover images
default: <default-value>
plugin_posts_limit:
description: Display limit
default: <default-value>
# ====================================================================================
# 🗼 Rss feed
plugin_rss:
description: Enable rss plugin
default: <default-value>
plugin_rss_source:
description: RSS feed source
default: <default-value>
plugin_rss_limit:
description: Display limit
default: <default-value>
# ====================================================================================
# ⏰ WakaTime
plugin_wakatime:
description: Enable wakatime plugin
default: <default-value>
plugin_wakatime_token:
description: WakaTime API token
default: <default-value>
plugin_wakatime_url:
description: WakaTime URL
default: <default-value>
plugin_wakatime_user:
description: WakaTime username
default: <default-value>
plugin_wakatime_sections:
description: Displayed sections
default: <default-value>
plugin_wakatime_days:
description: Time range
default: <default-value>
plugin_wakatime_limit:
description: Display limit (entries per graph)
default: <default-value>
plugin_wakatime_languages_other:
description: Other languages
default: <default-value>
plugin_wakatime_languages_ignored:
description: Ignored languages
default: <default-value>
plugin_wakatime_repositories_visibility:
description: Repositories visibility
default: <default-value>
# ====================================================================================
# 🗳️ Leetcode
plugin_leetcode:
description: Enable leetcode plugin
default: <default-value>
plugin_leetcode_user:
description: LeetCode login
default: <default-value>
plugin_leetcode_sections:
description: Displayed sections
default: <default-value>
plugin_leetcode_limit_skills:
description: Display limit (skills)
default: <default-value>
plugin_leetcode_ignored_skills:
description: Ignored skills
default: <default-value>
plugin_leetcode_limit_recent:
description: Display limit (recent)
default: <default-value>
# ====================================================================================
# 🕹️ Steam
plugin_steam:
description: Enable steam plugin
default: <default-value>
plugin_steam_token:
description: Steam token
default: <default-value>
plugin_steam_sections:
description: Displayed sections
default: <default-value>
plugin_steam_user:
description: Steam user id
plugin_steam_games_ignored:
description: Ignored games
default: <default-value>
plugin_steam_games_limit:
description: Display limit (Most played games)
default: <default-value>
plugin_steam_recent_games_limit:
description: Display limit (Recently played games)
default: <default-value>
plugin_steam_achievements_limit:
description: Display limit (Games achievements)
default: <default-value>
plugin_steam_playtime_threshold:
description: Display threshold (Game playtime in hours)
default: <default-value>
# ====================================================================================
# 🧠 16personalities
plugin_16personalities:
description: Enable 16personalities plugin
default: <default-value>
plugin_16personalities_url:
description: Profile URL
default: <default-value>
plugin_16personalities_sections:
description: Displayed sections
default: <default-value>
plugin_16personalities_scores:
description: Display traits scores
default: <default-value>
# ====================================================================================
# ♟️ Chess
plugin_chess:
description: Enable chess plugin
default: <default-value>
plugin_chess_token:
description: Chess platform token
default: <default-value>
plugin_chess_user:
description: Chess platform login
default: <default-value>
plugin_chess_platform:
description: Chess platform
default: <default-value>
plugin_chess_animation:
description: Animation settings
default: <default-value>
# ====================================================================================
# 🪙 Crypto
plugin_crypto:
description: Enable crypto plugin
default: <default-value>
plugin_crypto_id:
description: Crypto id
default: <default-value>
plugin_crypto_vs_currency:
description: The target currency of market data (usd, eur, jpy, etc.)
default: <default-value>
plugin_crypto_days:
description: Data up to number of days ago (eg. 1,14,30,max)
default: <default-value>
plugin_crypto_precision:
description: The number of decimal places to use
default: <default-value>
# ====================================================================================
# 🥠 Fortune
plugin_fortune:
description: Enable fortune plugin
default: <default-value>
# ====================================================================================
# 💉 Nightscout
plugin_nightscout:
description: Enable nightscout plugin
default: <default-value>
plugin_nightscout_url:
description: Nightscout URL
default: <default-value>
plugin_nightscout_datapoints:
description: Number of datapoints shown the graph
default: <default-value>
plugin_nightscout_lowalert:
description: Threshold for low blood sugar
default: <default-value>
plugin_nightscout_highalert:
description: Threshold for high blood sugar
default: <default-value>
plugin_nightscout_urgentlowalert:
description: Threshold for urgently low blood sugar
default: <default-value>
plugin_nightscout_urgenthighalert:
description: Threshold for urgently high blood sugar
default: <default-value>
# ====================================================================================
# 💩 PoopMap plugin
plugin_poopmap:
description: Enable poopmap plugin
default: <default-value>
plugin_poopmap_token:
description: PoopMap API token
default: <default-value>
plugin_poopmap_days:
description: Time range
default: <default-value>
# ====================================================================================
# 📸 Website screenshot
plugin_screenshot:
description: Enable screenshot plugin
default: <default-value>
plugin_screenshot_title:
description: Title caption
default: <default-value>
plugin_screenshot_url:
description: Website URL
default: <default-value>
plugin_screenshot_selector:
description: CSS Selector
default: <default-value>
plugin_screenshot_mode:
description: Output mode
default: <default-value>
plugin_screenshot_viewport:
description: Viewport options
default: <default-value>
plugin_screenshot_wait:
description: Wait time before taking screenshot (ms)
default: <default-value>
plugin_screenshot_background:
description: Background
default: <default-value>
# ====================================================================================
# 🦑 Splatoon
plugin_splatoon:
description: Enable splatoon plugin
default: <default-value>
plugin_splatoon_token:
description: Splatnet token
default: <default-value>
plugin_splatoon_sections:
description: Displayed sections
default: <default-value>
plugin_splatoon_versus_limit:
description: Display limit (Versus)
default: <default-value>
plugin_splatoon_salmon_limit:
description: Display limit (Salmon run)
default: <default-value>
plugin_splatoon_statink:
description: stat.ink integration
default: <default-value>
plugin_splatoon_statink_token:
description: stat.ink token
default: <default-value>
plugin_splatoon_source:
description: Source
default: <default-value>
# ====================================================================================
# 💹 Stock prices
plugin_stock:
description: Enable stock plugin
default: <default-value>
plugin_stock_token:
description: Yahoo Finance token
default: <default-value>
plugin_stock_symbol:
description: Company stock symbol
default: <default-value>
plugin_stock_duration:
description: Time range
default: <default-value>
plugin_stock_interval:
description: Time interval between points
default: <default-value>
# ====================================================================================
# Action metadata
name: Metrics embed
author: lowlighter
description: An infographics generator with 40+ plugins and 300+ options to display stats about your GitHub account!
branding:
icon: user-check
color: gray-dark
# The action will parse its name to check if it's the official action or if it's a forked one
# On the official action, it'll use the docker image published on GitHub registry when using a released version, allowing faster runs
# On a forked action, it'll rebuild the docker image from Dockerfile to take into account changes you made
runs:
using: composite
steps:
- run: |
# Check runner compatibility
echo "::group::Metrics docker image setup"
echo "GitHub action: $METRICS_ACTION ($METRICS_ACTION_PATH)"
cd $METRICS_ACTION_PATH
for DEPENDENCY in docker jq; do
if ! which $DEPENDENCY > /dev/null 2>&1; then
echo "::error::\"$DEPENDENCY\" is not installed on current runner but is needed to run metrics"
MISSING_DEPENDENCIES=1
fi
done
if [[ $MISSING_DEPENDENCIES == "1" ]]; then
echo "Runner compatibility: missing dependencies"
exit 1
else
echo "Runner compatibility: compatible"
fi
# Create environment file from inputs and GitHub variables
touch .env
for INPUT in $(echo $INPUTS | jq -r 'to_entries|map("INPUT_\(.key|ascii_upcase)=\(.value|@uri)")|.[]'); do
echo $INPUT >> .env
done
env | grep -E '^(GITHUB|ACTIONS|CI|TZ)' >> .env
echo "Environment variables: loaded"
# Renders output folder
METRICS_RENDERS="/metrics_renders"
sudo mkdir -p $METRICS_RENDERS
echo "Renders output folder: $METRICS_RENDERS"
# Source repository (picked from action name)
METRICS_SOURCE=$(echo $METRICS_ACTION | sed -E 's/metrics.*?$//g' | sed -E 's/_//g')
echo "Source: $METRICS_SOURCE"
# Version (picked from package.json)
METRICS_VERSION=$(grep -Po '(?<="version": ").*(?=")' package.json)
echo "Version: $METRICS_VERSION"
# Image tag (extracted from version or from env)
METRICS_TAG=v$(echo $METRICS_VERSION | sed -r 's/^([0-9]+[.][0-9]+).*/\1/')
echo "Image tag: $METRICS_TAG"
# Image name
# Official action
if [[ $METRICS_SOURCE == "lowlighter" ]]; then
# Use registry with pre-built images
if [[ ! $METRICS_USE_PREBUILT_IMAGE =~ ^([Ff]alse|[Oo]ff|[Nn]o|0)$ ]]; then
# Is released version
set +e
METRICS_IS_RELEASED=$(expr $(expr match $METRICS_VERSION .*-beta) == 0)
set -e
echo "Is released version: $METRICS_IS_RELEASED"
if [[ "$METRICS_IS_RELEASED" -eq "0" ]]; then
METRICS_TAG="$METRICS_TAG-beta"
echo "Image tag (updated): $METRICS_TAG"
fi
METRICS_IMAGE=ghcr.io/lowlighter/metrics:$METRICS_TAG
echo "Using pre-built version $METRICS_TAG, will pull docker image from GitHub registry"
if ! docker image pull $METRICS_IMAGE; then
echo "Failed to fetch docker image from GitHub registry, will rebuild it locally"
METRICS_IMAGE=metrics:$METRICS_VERSION
fi
# Rebuild image
else
echo "Using an unreleased version ($METRICS_VERSION)"
METRICS_IMAGE=metrics:$METRICS_VERSION
fi
# Forked action
else
echo "Using a forked version"
METRICS_IMAGE=metrics:forked-$METRICS_VERSION
fi
echo "Image name: $METRICS_IMAGE"
# Build image if necessary
set +e
docker image inspect $METRICS_IMAGE
METRICS_IMAGE_NEEDS_BUILD="$?"
set -e
if [[ "$METRICS_IMAGE_NEEDS_BUILD" -gt "0" ]]; then
echo "Image $METRICS_IMAGE is not present locally, rebuilding it from Dockerfile"
docker build -t $METRICS_IMAGE .
else
echo "Image $METRICS_IMAGE is present locally"
fi
echo "::endgroup::"
# Run docker image with current environment
docker run --init --rm --volume $GITHUB_EVENT_PATH:$GITHUB_EVENT_PATH --volume $METRICS_RENDERS:/renders --env-file .env $METRICS_IMAGE
rm .env
shell: bash
env:
METRICS_ACTION: ${{ github.action }}
METRICS_ACTION_PATH: ${{ github.action_path }}
METRICS_USE_PREBUILT_IMAGE: ${{ inputs.use_prebuilt_image }}
INPUTS: ${{ toJson(inputs) }}
TZ: ${{ inputs.config_timezone }}