Files
metrics/action.yml
2022-01-16 14:34:52 +00:00

1438 lines
34 KiB
YAML
Generated
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ====================================================================================
# Inputs and configuration
inputs:
# ====================================================================================
# 🗃️ Base content
# Base content
base:
description: Base content
default: header, activity, community, repositories, metadata
repositories:
description: Repositories to fetch
default: 100
repositories_batch:
description: Repositories to fetch at a time
default: 100
repositories_forks:
description: Include forks
default: no
repositories_affiliations:
description: Repositories affiliations
default: owner
repositories_skipped:
description: Default skipped repositories
default: ""
users_ignored:
description: Default ignored users
default: github-actions[bot], dependabot[bot], dependabot-preview[bot]
commits_authoring:
description: Name, username, email addresses that has been used for authoring commits
default: .user.login
# ====================================================================================
# 🧱 Core
# User account personal token
# No additional scopes are needed unless you want to include private repositories metrics
# Some plugins may also require additional scopes
# ────────────────────────────────────────────────────────────────
# If you're only using plugins which don't really require a GitHub token, you may pass "NOT_NEEDED" as value
token:
description: GitHub Personal Token
required: true
# GitHub username
# Defaults to "token" owner
user:
description: GitHub username
default: ""
# GitHub repository
# Compute metrics for a repository instead ("user" being the repository owner)
# Check https://github.com/lowlighter/metrics/blob/master/source/templates/repository/README.md for more informations
repo:
description: GitHub repository
default: ""
# Set to "${{ github.token }}" or "${{ secrets.GITHUB_TOKEN }}"
# GITHUB_TOKEN is a special auto-generated token restricted to current repository, which is used to push files in it
committer_token:
description: GitHub Token used to commit metrics
default: ${{ github.token }}
# Branch used to commit rendered metrics
committer_branch:
description: Branch used to commit rendered metrics
default: ""
# Commit message
# Use "${filename}" to display filename
committer_message:
description: Commit message
default: Update ${filename} - [Skip GitHub Action]
# Instead of saving metrics to a repository, it's possible to save them to a gist to avoid "commits pollution"
# Gist must be created prior and you must pass its identifier in the following option
# Set "gist" in "output_action" to use this option
committer_gist:
description: Gist used to store metrics
default: ""
# Rendered metrics output path, relative to repository's root
# When using "*", the correct extension will automatically on "config_output" value
filename:
description: Rendered metrics output path
default: github-metrics.*
# Rendered markdown output path (when using a markdown template)
# It can be either a local path or a link (e.g. raw.githubusercontent.com)
markdown:
description: Rendered markdown output path
default: TEMPLATE.md
# Rendered markdown file cache (when using a markdown template)
markdown_cache:
description: Rendered markdown file cache
default: .cache
# Output action
output_action:
description: Output action
default: commit
# Output condition
output_condition:
description: Output condition
default: always
# Optimize SVG image to reduce its filesize
# Some templates may not support this option
optimize:
description: SVG optimization
default: css, xml
# Setup additional templates from remote repositories
setup_community_templates:
description: Additional community templates to setup
default: ""
# Template to use
# To use community template, prefix its name with "@"
template:
description: Template to use
default: classic
# Additional query parameters (JSON string)
# Some templates may require additional parameters which you can specify here
# Do not use this option to pass plugins parameters as they'll be overwritten by the other options
query:
description: Additional query parameters
default: "{}"
# Define additional CSS that will be injected in used template
# Example:
# config_extras_css |
# h2 {
# color: red;
# }
extras_css:
description: Extra CSS
default: ""
# Timezone used by metrics
# See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
config_timezone:
description: Timezone used
default: ""
# Specify in which order metrics content will be displayed
# If you omit some partials, they'll be appended at the end in default order
# See "partials/_.json" of each template for a list of supported partials
config_order:
description: Configure content order
default: ""
# Use twemojis instead of emojis
# May increase filesize but emojis will be rendered the same across all platforms
config_twemoji:
description: Use twemojis instead of emojis
default: no
# Render GitHub custom emojis (like ":octocat:", see full list at https://api.github.com/emojis)
# May increase filesize
config_gemoji:
description: Use GitHub custom emojis
default: yes
# Render display width
config_display:
description: Render display width
default: regular
# Enable SVG CSS animations
config_animations:
description: SVG CSS animations
default: yes
# Encode images links into base64 data
# Advised to be true when generating images and false when generating texts or JSON
config_base64:
description: Encode images links into base64 data
default: yes
# Configure padding for output image (percentage value)
# It can be used to add padding to generated metrics if rendering is cropped or has too much empty space
# Specify one value (for both width and height) or two values (one for width and one for height)
config_padding:
description: Image padding
default: 0, 8 + 11%
# Metrics output format
config_output:
description: Output image format
default: auto
# Number of retries in case rendering fail
retries:
description: Number of retries
default: 3
# Time to wait (in seconds) before each retry
retries_delay:
description: Time to wait (in seconds) before each retry
default: 300
# Number of retries in case output action fail
retries_output_action:
description: Number of retries (output action)
default: 5
# Time to wait (in seconds) before each retry (output action)
retries_delay_output_action:
description: Time to wait (in seconds) before each retry (output action)
default: 120
# Time to wait (in seconds) at the end of job
# Use this to avoid triggering abuse mechanics on large workflows
delay:
description: Use this to avoid triggering abuse mechanics on large workflows
default: 0
# Use a pre-built image from GitHub registry when using unreleased versions of "lowlighter/metrics"
# This option has no effect on forks (images will always be rebuilt from Dockerfile)
# See https://github.com/users/lowlighter/packages/container/package/metrics for more information
use_prebuilt_image:
description: Use pre-built image from GitHub registry
default: yes
# Throw on plugins errors
# If disabled, metrics will handle errors gracefully with a message in rendered metrics
plugins_errors_fatal:
description: Die on plugins errors
default: no
# Debug mode
# Note that this will automatically be enabled if job fails
debug:
description: Debug logs
default: no
# Ensure SVG can be correctly parsed after generation
verify:
description: Verify SVG
default: no
# Debug flags
debug_flags:
description: Debug flags
default: ""
# Dry-run mode (perform generation without output)
# Unlike "output_action" set to "none", output file won't be available in "/metrics_renders"
dryrun:
description: Enable dry-run
default: no
# Experimental features
# Note that no backward compatibility are guaranteed for these features
experimental_features:
description: Experimental features
default: ""
# Use mocked data to bypass external APIs
use_mocked_data:
description: Use mocked data instead of live APIs
default: no
# ====================================================================================
# 📅 Isometric commit calendar
plugin_isocalendar:
description: Enable isocalendar plugin
default: no
plugin_isocalendar_duration:
description: Time range
default: half-year
# ====================================================================================
# 🈷️ Most used languages
plugin_languages:
description: Enable languages plugin
default: no
plugin_languages_ignored:
description: Ignored languages
default: ""
plugin_languages_skipped:
description: Skipped repositories
default: ""
plugin_languages_limit:
description: Display limit
default: 8
plugin_languages_threshold:
description: Display threshold (percentage)
default: 0%
plugin_languages_colors:
description: Custom languages colors
default: github
plugin_languages_aliases:
description: Custom languages names
default: ""
plugin_languages_sections:
description: Displayed sections
default: most-used
plugin_languages_details:
description: Additional details
default: ""
plugin_languages_indepth:
description: Indepth mode (⚠️ read documentation first)
default: false
plugin_languages_analysis_timeout:
description: Indepth mode - Analysis timeout
default: 15
plugin_languages_categories:
description: Indepth mode - Displayed categories (most-used section)
default: markup, programming
plugin_languages_recent_categories:
description: Indepth mode - Displayed categories (recently-used section)
default: markup, programming
plugin_languages_recent_load:
description: Events to load (recently-used section)
default: 300
plugin_languages_recent_days:
description: Events maximum age (day, recently-used section)
default: 14
# ====================================================================================
# 📌 Starred topics
plugin_topics:
description: Enable topics plugin
default: no
plugin_topics_mode:
description: "Display mode:"
default: starred
plugin_topics_sort:
description: "Sorting method:"
default: stars
plugin_topics_limit:
description: Display limit
default: 15
# ====================================================================================
# 🌟 Recently starred repositories
plugin_stars:
description: Enable stars plugin
default: no
plugin_stars_limit:
description: Display limit
default: 4
# ====================================================================================
# 📜 Repository licenses
plugin_licenses:
description: Enable licenses plugin
default: no
plugin_licenses_setup:
description: Setup command
default: ""
plugin_licenses_ratio:
description: Display used licenses ratio
default: no
plugin_licenses_legal:
description: Display permissions, limitations and conditions about used licenses
default: yes
# ====================================================================================
# 💡 Coding habits
plugin_habits:
description: Enable habits plugin
default: no
plugin_habits_from:
description: Events to use
default: 200
plugin_habits_days:
description: Event maximum age
default: 14
plugin_habits_facts:
description: Toggle midly interesting facts display
default: yes
plugin_habits_charts:
description: Toggle charts display
default: no
plugin_habits_trim:
description: Trim unused hours on charts
default: no
# ====================================================================================
# 🏅 Repository contributors
plugin_contributors:
description: Enable contributors plugin
default: no
plugin_contributors_base:
description: Base reference (commit, tag, branch, etc.)
default: ""
plugin_contributors_head:
description: Head reference (commit, tag, branch, etc.)
default: master
plugin_contributors_ignored:
description: Ignored users
default: ""
plugin_contributors_contributions:
description: Toggle number of contributions display
default: no
plugin_contributors_sections:
description: Displayed sections
default: contributors
plugin_contributors_categories:
description: Configure contribution categories
default: |
{
"📚 Documentation": ["README.md", "docs/**"],
"💻 Code": ["source/**", "src/**"],
"#️⃣ Others": ["*"]
}
# ====================================================================================
# 🎟️ Follow-up of issues and pull requests
plugin_followup:
description: Enable followup plugin
default: no
plugin_followup_sections:
description: Displayed sections
default: repositories
plugin_followup_indepth:
description: Indepth analysis
default: no
# ====================================================================================
# 🎭 Comment reactions
plugin_reactions:
description: Enable reactions plugin
default: no
plugin_reactions_limit:
description: Display limit (issues and pull requests comments)
default: 200
plugin_reactions_limit_issues:
description: Display limit (issues and pull requests, first comment)
default: 100
plugin_reactions_limit_discussions:
description: Display limit (discussions, first comment)
default: 100
plugin_reactions_limit_discussions_comments:
description: Display limit (discussions comments)
default: 100
plugin_reactions_days:
description: Comments maximum age
default: 0
plugin_reactions_display:
description: Display mode
default: absolute
plugin_reactions_details:
description: Additional details
default: ""
plugin_reactions_ignored:
description: Ignored users
default: ""
# ====================================================================================
# 🧑‍🤝‍🧑 People plugin
plugin_people:
description: Enable people plugin
default: no
plugin_people_limit:
description: Display limit
default: 24
plugin_people_identicons:
description: Toggle identicons display
default: no
plugin_people_size:
description: Profile picture display size
default: 28
plugin_people_types:
description: Displayed sections (order is respected)
default: followers, following
plugin_people_thanks:
description: Special thanks
default: ""
plugin_people_sponsors_custom:
description: Custom sponsors
default: ""
plugin_people_shuffle:
description: Shuffle data for varied output
default: no
# ====================================================================================
# ✨ Stargazers over last weeks
plugin_stargazers:
description: Enable stargazers plugin
default: no
# ====================================================================================
# 🗂️ Active projects
plugin_projects:
description: Enable projects plugin
default: no
plugin_projects_limit:
description: Display limit
default: 4
plugin_projects_repositories:
description: List of repositories projects
default: ""
plugin_projects_descriptions:
description: Toggle projects descriptions display
default: no
# ====================================================================================
# ♐ Code snippet of the day
plugin_code:
description: Enable code plugin
default: no
plugin_code_lines:
description: Display limit for code snippets
default: 12
plugin_code_load:
description: Events to load
default: 100
plugin_code_visibility:
description: Events visibility
default: public
plugin_code_skipped:
description: Skipped repositories
default: ""
plugin_code_languages:
description: Restrict display to specific languages
default: ""
# ====================================================================================
# 📰 Recent activity
plugin_activity:
description: Enable activity plugin
default: no
plugin_activity_limit:
description: Display limit
default: 5
plugin_activity_load:
description: Events to load
default: 300
plugin_activity_days:
description: Events maximum age
default: 14
plugin_activity_visibility:
description: Events visibility
default: all
plugin_activity_timestamps:
description: Display events timestamps
default: no
plugin_activity_skipped:
description: Skipped repositories
default: ""
plugin_activity_ignored:
description: Ignored users
default: ""
plugin_activity_filter:
description: Events types
default: all
# ====================================================================================
# 🏆 Achievements
plugin_achievements:
description: Enable achievements plugin
default: no
plugin_achievements_threshold:
description: Display rank threshold
default: C
plugin_achievements_secrets:
description: Display secrets achievements
default: yes
plugin_achievements_display:
description: Display style
default: detailed
plugin_achievements_limit:
description: Display limit
default: 0
plugin_achievements_ignored:
description: Hide specified achievements
default: ""
plugin_achievements_only:
description: Restrict display to specified achievements
default: ""
# ====================================================================================
# 🎩 Notable contributions
plugin_notable:
description: Enable notable plugin
default: no
plugin_notable_filter:
description: Query filter
default: ""
plugin_notable_from:
description: Filter by repository owner account type
default: organization
plugin_notable_repositories:
description: Toggle repository name display
default: no
plugin_notable_indepth:
description: Indepth mode
default: no
# ====================================================================================
# 💬 Discussions
plugin_discussions:
description: Enable discussions plugin
default: no
plugin_discussions_categories:
description: Toggle discussion categories display
default: yes
plugin_discussions_categories_limit:
description: Display limit (categories)
default: 0
# ====================================================================================
# 💭 GitHub Community Support
plugin_support:
description: Enable support plugin
default: no
# ====================================================================================
# 👨‍💻 Lines of code changed
plugin_lines:
description: Enable lines plugin
default: no
plugin_lines_skipped:
description: Skipped repositories
default: ""
# ====================================================================================
# 🧮 Repositories traffic
plugin_traffic:
description: Enable traffic plugin
default: no
plugin_traffic_skipped:
description: Skipped repositories
default: ""
# ====================================================================================
# 📓 Repositories
plugin_repositories:
description: Enable repositories plugin
default: no
plugin_repositories_featured:
description: List of featured repositories
default: ""
# ====================================================================================
# 🎫 Gists
plugin_gists:
description: Enable gists plugin
default: no
# ====================================================================================
# 🙋 Introduction
# Enable or disable plugin
plugin_introduction:
description: Display account or repository introduction
default: no
# Display introduction section title
plugin_introduction_title:
description: Display introduction section title
default: yes
# ====================================================================================
# 💕 GitHub Sponsors
plugin_sponsors:
description: Enable sponsors plugin
default: no
plugin_sponsors_sections:
description: Displayed sections
default: goal, about
# ====================================================================================
# 💫 Starlists
plugin_starlists:
description: Enable starlists plugin
default: no
plugin_starlists_limit:
description: Display limit (star lists)
default: 2
plugin_starlists_limit_repositories:
description: Display limit (repositories per star list)
default: 2
plugin_starlists_shuffle_repositories:
description: Shuffle data for varied outputs
default: yes
plugin_starlists_ignored:
description: Skipped star lists (case insensitive)
default: ""
plugin_starlists_only:
description: Restrict display to specified star lists (case insensitive)
default: ""
# ====================================================================================
# 🌇 GitHub Skyline 3D calendar
plugin_skyline:
description: Enable skyline plugin
default: no
plugin_skyline_year:
description: Displayed year
default: current-year
plugin_skyline_frames:
description: Frames count
default: 60
plugin_skyline_quality:
description: Image quality
default: 0.5
plugin_skyline_compatibility:
description: Compatibility mode
default: no
# ====================================================================================
# ⏱️ Website performances
plugin_pagespeed:
description: Enable pagespeed plugin
default: no
plugin_pagespeed_url:
description: Audited website
default: .user.website
plugin_pagespeed_detailed:
description: Detailed results
default: no
plugin_pagespeed_screenshot:
description: Display a website screenshot
default: no
plugin_pagespeed_token:
description: PageSpeed token
default: ""
# ====================================================================================
# 🎼 Music plugin
plugin_music:
description: Enable music plugin
default: no
plugin_music_provider:
description: Music provider
default: ""
plugin_music_token:
description: Music provider token
default: ""
plugin_music_mode:
description: Display mode
default: ""
plugin_music_playlist:
description: Playlist URL
default: ""
plugin_music_limit:
description: Display limit
default: 4
plugin_music_played_at:
description: Recently played - Toggle last played timestamp display
default: no
plugin_music_time_range:
description: Top tracks - Time range for `top` mode
default: short
plugin_music_top_type:
description: Top tracks - Display type
default: tracks
plugin_music_user:
description: Music provider username
default: .user.login
# ====================================================================================
# 🗨️ StackOverflow plugin
plugin_stackoverflow:
description: Enable stackoverflow plugin
default: no
plugin_stackoverflow_user:
description: Stackoverflow user id
default: 0
plugin_stackoverflow_sections:
description: Displayed sections
default: answers-top, questions-recent
plugin_stackoverflow_limit:
description: Display limit (per section)
default: 2
plugin_stackoverflow_lines:
description: Display limit for questions and answers
default: 4
plugin_stackoverflow_lines_snippet:
description: Display limit for code snippets
default: 2
# ====================================================================================
# 🌸 Anilist watch list and reading list
plugin_anilist:
description: Enable aniList plugin
default: no
plugin_anilist_medias:
description: Display medias types
default: anime, manga
plugin_anilist_sections:
description: Displayed sections
default: favorites
plugin_anilist_limit:
description: Display limit (medias)
default: 2
plugin_anilist_limit_characters:
description: Display limit (characters)
default: 22
plugin_anilist_shuffle:
description: Shuffle data for varied outputs
default: yes
plugin_anilist_user:
description: AniList login
default: .user.login
# ====================================================================================
# 🐤 Latest tweets
plugin_tweets:
description: Enable tweets plugin
default: no
plugin_tweets_token:
description: Twitter API token
default: ""
plugin_tweets_attachments:
description: Display tweets attachments (images, video previews, etc.)
default: no
plugin_tweets_limit:
description: Display limit
default: 2
plugin_tweets_user:
description: Twitter username
default: .user.twitter
# ====================================================================================
# ✒️ Recent posts
plugin_posts:
description: Enable posts plugin
default: no
plugin_posts_source:
description: External source
default: ""
plugin_posts_descriptions:
description: Toggle posts descriptions display
default: no
plugin_posts_covers:
description: Toggle posts cover images display
default: no
plugin_posts_limit:
description: Display limit
default: 4
plugin_posts_user:
description: External source username
default: .user.login
# ====================================================================================
# 🗼 Rss feed
plugin_rss:
description: Enable rss plugin
default: no
plugin_rss_source:
description: RSS feed source
default: ""
plugin_rss_limit:
description: Display limit
default: 4
# ====================================================================================
# ⏰ WakaTime plugin
plugin_wakatime:
description: Enable wakatime plugin
default: no
plugin_wakatime_token:
description: WakaTime API token
default: ""
plugin_wakatime_days:
description: Time range
default: 7
plugin_wakatime_sections:
description: Displayed sections
default: time, projects, projects-graphs, languages, languages-graphs, editors, os
plugin_wakatime_limit:
description: Display limit (per graph)
default: 5
plugin_wakatime_url:
description: WakaTime url
default: https://wakatime.com
plugin_wakatime_user:
description: WakaTime username
default: current
# ====================================================================================
# 💹 Stock prices
plugin_stock:
description: Enable stock plugin
default: no
plugin_stock_token:
description: Yahoo Finance token
default: ""
plugin_stock_symbol:
description: Company stock symbol
default: ""
plugin_stock_duration:
description: Time range (relative to current date)
default: 1d
plugin_stock_interval:
description: Time interval between points
default: 5m
# ====================================================================================
# 💉 Nightscout
plugin_nightscout:
description: Enable nightscout plugin
default: no
plugin_nightscout_url:
description: Nightscout URL
default: https://example.herokuapp.com
plugin_nightscout_datapoints:
description: Number of datapoints shown the graph
default: 12
plugin_nightscout_lowalert:
description: Threshold for low blood sugar
default: 80
plugin_nightscout_highalert:
description: Threshold for high blood sugar
default: 180
plugin_nightscout_urgentlowalert:
description: Threshold for urgently low blood sugar
default: 50
plugin_nightscout_urgenthighalert:
description: Threshold for urgently high blood sugar
default: 250
# ====================================================================================
# 💩 PoopMap plugin
plugin_poopmap:
description: Enable poopmap plugin
default: no
plugin_poopmap_token:
description: PoopMap API token
default: ""
plugin_poopmap_days:
description: Time range
default: 7
# ====================================================================================
# 📸 Website screenshot
plugin_screenshot:
description: Enable screenshot plugin
default: no
plugin_screenshot_title:
description: Title caption
default: Screenshot
plugin_screenshot_url:
description: Website url
default: ""
plugin_screenshot_selector:
description: CSS Selector
default: body
plugin_screenshot_background:
description: Display background
default: yes
# ====================================================================================
# Action metadata
name: Metrics embed
author: lowlighter
description: An infographics generator with 30+ plugins and 200+ 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: |
# Create environment file from inputs and GitHub variables
echo "::group::Metrics docker image setup"
echo "GitHub action: $METRICS_ACTION ($METRICS_ACTION_PATH)"
cd $METRICS_ACTION_PATH
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 --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 }}