Files
action/action.yml
T
Chromatic 3378c92d26 v13.0.0
2025-06-16 16:43:34 +00:00

155 lines
6.1 KiB
YAML
Executable File

name: Publish to Chromatic
author: Chroma Software, Inc.
description: 'Publish your Storybook to Chromatic and run visual regression tests'
branding:
icon: 'aperture'
color: 'orange'
inputs:
autoAcceptChanges:
description: 'Automatically accept all changes in chromatic: boolean or branchname'
required: false
branchName:
description: 'Override the branch name'
required: false
buildScriptName:
description: 'The npm script that builds your Storybook [build-storybook]'
required: false
buildCommand:
description: 'The command that builds your Storybook (when your build command does not exist in "scripts" of your package.json)'
required: false
configFile:
description: 'Path from where to load the Chromatic config JSON file.'
cypress:
description: 'Run build against `@chromatic-com/cypress` test archives'
required: false
debug:
description: 'Output verbose debugging information'
required: false
diagnosticsFile:
description: 'Write process context information to a JSON file'
required: false
dryRun:
description: 'Run without actually publishing to Chromatic'
required: false
exitOnceUploaded:
description: 'Exit with 0 once the built version has been sent to chromatic: boolean or branchname'
required: false
exitZeroOnChanges:
description: 'Positive exit of action even when there are changes: boolean or branchname'
required: false
externals:
description: 'Disable TurboSnap when any of these files have changed since the baseline build'
required: false
fileHashing:
description: 'Whether to apply file hashing to skip uploading unchanged files (default: true)'
required: false
forceRebuild:
description: 'Do not skip build when a rebuild is detected'
required: false
ignoreLastBuildOnBranch:
description: 'Do not use the last build on this branch as a baseline if it is no longer in history (i.e. branch was rebased)'
required: false
logFile:
description: 'Write CLI logs to a file'
required: false
logLevel:
description: 'One of: silent, error, warn, info, debug (default: info)'
required: false
logPrefix:
description: 'Custom prefix for log messages (default: current timestamp)'
required: false
onlyChanged:
description: 'Enables TurboSnap: Only run stories affected by files changed since the baseline build'
required: false
onlyStoryNames:
description: 'Only run a single story or a subset of stories by their name'
required: false
onlyStoryFiles:
description: 'Only run a single story or a subset of stories by their filename(s)'
required: false
outputDir:
description: 'Relative path to target directory containing your Storybook (a temporary directory is used if this is not set)'
required: false
playwright:
description: 'Run build against `@chromatic-com/playwright` test archives'
required: false
preserveMissing:
description: 'Deprecated, use onlyChanged, onlyStoryNames or onlyStoryFiles instead'
required: false
projectToken:
description: 'Your chromatic project token (best provided via env.CHROMATIC_PROJECT_TOKEN)'
required: false
repositorySlug:
description: 'Override the repository slug (e.g. ownerName/repositoryName)'
required: false
skip:
description: 'Skip Chromatic tests, but mark the commit as passing'
required: false
skipUpdateCheck:
description: 'Skips Chromatic CLI update check'
required: false
storybookBaseDir:
description: 'Relative path from repository root to Storybook project root'
required: false
storybookBuildDir:
description: 'Provide a directory with your built storybook; use if you have already built your storybook'
required: false
storybookConfigDir:
description: 'Relative path from where you run Chromatic to your Storybook config directory'
required: false
storybookLogFile:
description: 'Write Storybook build logs to a file'
required: false
token:
description: 'Your github token'
required: false
traceChanged:
description: 'Print dependency trace for changed files to affected story files; set to "expanded" to list individual modules'
required: false
untraced:
description: 'Disregard these files and their dependencies when tracing dependent stories for TurboSnap'
required: false
uploadMetadata:
description: 'Upload Chromatic metadata files as part of the published Storybook'
required: false
workingDir:
description: 'Working directory for the package.json file'
required: false
zip:
description: 'Publish your Storybook to Chromatic as a single zip file instead of individual content files'
required: false
junitReport:
description: 'Write build results to a JUnit XML file'
required: false
outputs:
code:
description: 'The exit code for the current run of the Chromatic CLI'
url:
description: 'An alias for the build URL (e.g. https://www.chromatic.com/build?appId=<app id goes here>&number=<build number>)'
buildUrl:
description: 'The build URL (e.g. https://www.chromatic.com/build?appId=<app id goes here>&number=<build number>)'
storybookUrl:
description: 'The Storybook preview URL for your current branch / Pull Request (e.g. https://<app id goes here>-<branch hash>.chromatic.com/)'
specCount:
description: 'The number of stories in the published Storybook'
componentCount:
description: 'The number of components in the published Storybook'
testCount:
description: 'The number of tests on the build'
changeCount:
description: 'The number of tests with visual changes, including any inherited changes (e.g. due to TurboSnap)'
errorCount:
description: 'The number of tests with error(s), including any inherited errors (e.g. due to TurboSnap)'
interactionTestFailuresCount:
description: 'The number of stories with interaction test failures'
actualCaptureCount:
description: 'The number of captured snapshots'
inheritedCaptureCount:
description: 'The number of inherited (not captured) snapshots (e.g. due to TurboSnap)'
runs:
main: action/register.js
using: node20 # Sync with `target` in tsup.config.ts