cloudnode-pro/Modrinth Publish

Publish a version on Modrinth

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 6, 2026
License
GPL 3.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: cloudnode-pro/modrinth-publish@150bec632db186f87c686435b29c55e7543107ea # v2.5.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
api-domainModrinth API domain.noapi.modrinth.com
tokenA personal access token for the Modrinth API with Create versions scope. It’s strongly recommended to store this in a GitHub Repository Secret.yes
projectThe Modrinth project ID that the version belongs to.yes
nameThe name of this version. The Modrinth UI usually names versions ‘YourProject 1.2.3’. You can use the version name to provide a very brief summary of the version/changelog.no
versionThe version number, ideally following semantic versioning.yes
channelThe release channel for this version. Allowed values: `release`, `beta`, `alpha` Default: inferred from the `version` input: - If version includes ‘alpha’, will be set to `alpha`. - If version includes ‘beta’, ‘rc’, or ‘pre’, will be set to `beta`. - Otherwise, will be set to `release`.no
featuredWhether the version is featured or not. If not set, defaults to `true` if the release channel is `release`, otherwise `false`.no
changelogText describing the changes in this version. You can use Markdown formatting.no
loadersList of supported loaders for this version. Format each loader on a new line or use a JSON string array.yes
game-versionsList of supported Minecraft versions. You can use patterns like `1.21.x` and `26.1.x`. Format each version on anew line or use a JSON string array.no[]
filesOne or more file paths or HTTP URLs to upload. This input is optional when the status is `draft`. The allowed file extensions are .mrpack, .jar, .zip, .litemod, .asc, .gpg, and .sig.yes
primary-fileThe name (not path) of the file from files to designate as primary. If you used HTTP URLs, the name is considered the last path component, e.g. name in https://example.com/foo/name. Supplementary files are for supporting resources like source code and documentation, not for alternative versions or variants. If you specify an HTTP URL, the action downloads the file during workflow execution and uploads it to Modrinth as a regular static file. Users downloading the version will get the file from Modrinth, not from the URL. Format each file on a new line or use a JSON string array.no
file-typesMap of supplementary file names (not paths) to their types. If you used HTTP URLs, the name is considered the last path component, e.g. name in https://example.com/foo/name. - `required-resource-pack`: A resource pack .zip file which is required for this version to work correctly. - `optional-resource-pack`: An optional resource pack .zip file which this version can use. - `sources-jar`: A .jar file containing source code, typically ending in -sources.jar. - `javadoc-jar`: A .jar file containing Javadoc documentation, typically ending in -javadoc.jar. - `signature`: A PGP signature for a file as either .asc, .sig, or .gpg. The name typically contains the name of the file that is signed, e.g. YourProject-1.2.3.jar.asc. Your public key should be published on a public OpenPGP key server, such as keys.openpgp.org. Format each entry on a new line as <name>=<type> or use a JSON object.no{}
environmentThe environment compatibility of this version.no
dependenciesList of dependencies for this version, formatted as a JSON array of objects with the following properties: - `dependency_type` (required): The type of the dependency. Possible values: `required`, `optional`, `incompatible`, `embedded`. - `project_id`: The ID of a Modrinth project. Exclusive with `file_name`. - `version_id`: The ID of the specific dependency version. If not specified, means any version of the `project_id`. Exclusive with `file_name`. - `file_name`: The name of a file relating to an external (non-Modrinth) dependency. Exclusive with `project_id` and `version_id`.no[]
statusThe status of the version. - `listed` (default): Public and visible to anyone. - `archived`: Identical to `listed` but shows a message that the version is not supported. - `draft`: Not public and can only be accessed by project members. - `unlisted`: Not shown in the project’s versions list, but can be publicly accessed via direct URL. - `scheduled`: Not public, but scheduled to be released in the future.nolisted
requested-statusAllowed values are `listed`, `archived`, `draft`, `unlisted`.no
namedescription
version-idVersion ID generated by Modrinth.