mc-publish/action.template.yml
2023-05-19 17:04:06 +03:00

196 lines
7.1 KiB
YAML

# TODO: Remove deprecated inputs in v4.0
name: mc-publish
description: Your one-stop GitHub Action for seamless Minecraft project publication across various platforms.
author: Kir-Antipov
branding:
color: purple
icon: box
types:
input:
name: McPublishInput
description: The input parameters for the action.
output:
name: McPublishOutput
description: The output parameters provided by the action.
groups:
input:
modrinth:
type: ModrinthUploadRequest
description: Options used to publish Minecraft projects to Modrinth.
curseforge:
type: CurseForgeUploadRequest
description: Options used to publish Minecraft projects to CurseForge.
github:
type: GitHubUploadRequest
description: Options used to publish Minecraft projects to GitHub.
output:
modrinth:
type: ModrinthUploadReport
description: Report detailing the status of the project published on Modrinth.
curseforge:
type: CurseForgeUploadReport
description: Report detailing the status of the project published on CurseForge.
github:
type: GitHubUploadReport
description: Report detailing the status of the project published on GitHub.
inputs:
modrinth-id:
type: string
description: The unique identifier of your Modrinth project.
modrinth-featured:
type: boolean
description: Set to true to feature the version on Modrinth; false otherwise.
modrinth-unfeature-mode:
type: platforms.modrinth.ModrinthUnfeatureMode
description: Sets the behavior for unfeaturing older Modrinth versions.
default: subset
modrinth-token:
type: utils.security.SecureString
description: Your Modrinth API token.
curseforge-id:
type: string
description: The unique identifier of your CurseForge project.
curseforge-token:
type: utils.security.SecureString
description: Your CurseForge API token.
github-tag:
type: string
description: The tag name for the release where assets will be uploaded.
github-generate-changelog:
type: boolean
description: Set to true to generate a changelog automatically for this release; false otherwise. Ignored if the GitHub Release already exists.
github-draft:
type: boolean
description: Set to true to create a draft release; false otherwise. Ignored if the GitHub Release already exists.
github-prerelease:
type: boolean
description: Set to true to mark the release as a prerelease; false otherwise. Ignored if the GitHub Release already exists.
github-commitish:
type: string
description: Defines the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Ignored if the Git tag already exists.
github-discussion:
type: string
description: If specified, creates and links a discussion of the specified **existing** category to the release. Ignored if the GitHub Release already exists.
github-token:
type: utils.security.SecureString
description: Your GitHub API token.
files:
type: utils.io.FileInfo[]:{findFiles}?processSeparately=false
description: An array of globs determining which files to upload.
default: |
build/libs/!(*-@(dev|sources|javadoc)).jar
build/libs/*-@(dev|sources|javadoc).jar
files-primary:
type: utils.io.FileInfo[]:{findFiles}?processSeparately=false
redirect: files
description: A glob determining the primary files to upload.
deprecationMessage: Please, use 'files' instead.
files-secondary:
type: utils.io.FileInfo[]:{findFiles}?processSeparately=false
redirect: void
description: A glob determining the secondary files to upload.
deprecationMessage: Please, use 'files' instead.
name:
type: string
description: The name of the version.
version:
type: string
description: The version number.
version-type:
type: utils.versioning.VersionType
description: The version type - alpha, beta, or release.
changelog:
type: string
description: The changelog for this version.
changelog-file:
type: string;utils/io/file-info->{readAllText}
redirect: changelog
description: A glob pointing to the changelog file.
loaders:
type: string[]?separator=/\s%2B/
description: An array of supported mod loaders.
game-versions:
type: string[]
description: An array of supported Minecraft versions.
dependencies:
type: dependencies.Dependency[]
description: An array of dependencies required by your project.
version-resolver:
type: games.GameVersionFilter:fromVersionResolver
redirect: game-version-filter
description: Controls the method used to automatically resolve game versions.
deprecationMessage: Please, use 'game-version-filter' instead.
game-version-filter:
type: games.GameVersionFilter
description: Controls the method used to filter game versions.
default: releases | min-major | min-minor # ">=1.18" -> ["1.18", "1.18.1", "1.18.2"]
java:
type: utils.java.JavaVersion[]
description: An array of Java versions compatible with your project.
retry-attempts:
description: Defines the maximum number of asset publishing attempts.
type: number
default: 2
retry-delay:
description: Specifies the delay (in milliseconds) between asset publishing attempts.
type: number
default: 10000
fail-mode:
type: utils.errors.FailMode
description: Controls how the action responds to errors during the mod publishing process.
default: fail
outputs:
modrinth-id:
type: string
description: The unique identifier of your Modrinth project.
modrinth-version:
type: string
description: The unique identifier of the version published on Modrinth by this action.
modrinth-url:
type: string
description: The URL directing to the newly published version on Modrinth.
modrinth-files:
type: platforms.UploadedFile[]
description: Array of objects, each containing details about the files published for the new version on Modrinth, such as file `name`, `id`, and download `url`.
curseforge-id:
type: number
description: The unique identifier of your CurseForge project.
curseforge-version:
type: number
description: The unique identifier of the version published on CurseForge by this action.
curseforge-url:
type: string
description: The URL directing to the newly published version on CurseForge.
curseforge-files:
type: platforms.UploadedFile[]
description: Array of objects, each containing details about the files published for the new version on CurseForge, such as file `name`, `id`, and download `url`.
github-repo:
type: string
description: The full repository name on GitHub, formatted as 'username/repository'.
github-tag:
type: string
description: The Git tag associated with the new or updated release published on GitHub.
github-url:
type: string
description: The URL directing to the newly published version on GitHub.
github-files:
type: platforms.UploadedFile[]
description: Array of objects, each containing details about the files published for the new version on GitHub, such as file `name`, `id`, and download `url`.
runs:
using: node16
main: dist/index.js