name: Publish Minecraft Mods
description: GitHub Action that helps you publish your Minecraft mods
author: Kir-Antipov
branding:
  color: orange
  icon: upload
inputs:
  modrinth:
    publisher: true
  curseforge:
    publisher: true
  github:
    publisher: true

  modrinth-id:
    description: The ID of the Modrinth project to upload to
  modrinth-featured:
    description: Indicates whether the version should be featured on Modrinth or not
  modrinth-unfeature-mode:
    description: Determines the way automatic unfeaturing of older Modrinth versions works
  modrinth-token:
    description: A valid token for the Modrinth API

  curseforge-id:
    description: The ID of the CurseForge project to upload to
  curseforge-token:
    description: A valid token for the CurseForge API

  github-tag:
    description: The tag name of the release to upload assets to
  github-generate-changelog:
    description: Indicates whether to automatically generate the changelog for this release. If changelog is specified, it will be pre-pended to the automatically generated notes. Unused if the GitHub Release already exists
  github-draft:
    description: true to create a draft (unpublished) release, false to create a published one. Unused if the GitHub Release already exists
  github-prerelease:
    description: true to identify the release as a prerelease, false to identify the release as a full release. Unused if the GitHub Release already exists
  github-commitish:
    description: Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists
  github-discussion:
    description: If specified, a discussion of the specified category is created and linked to the release. Unused if the GitHub Release already exists
  github-token:
    description: A valid token for the GitHub API

  files:
    description: A glob of the files to upload
  files-primary:
    description: A glob of the primary files to upload
  files-secondary:
    description: A glob of the secondary files to upload

  name:
    description: The name of the version
  version:
    description: The version number
  version-type:
    description: The type of the release - alpha, beta, or release

  changelog:
    description: The changelog for this version
  changelog-file:
    description: A glob of the changelog file

  loaders:
    description: A list of supported mod loaders
  game-versions:
    description: A list of supported Minecraft versions
  dependencies:
    description: A list of dependencies
  version-resolver:
    description: Determines the way automatic game-versions resolvement works
  java:
    description: A list of supported Java versions

  retry-attempts:
    description: The maximum number of attempts to publish assets
    default: 2
  retry-delay:
    description: Time delay between attempts to publish assets (in milliseconds)
    default: 10000
  fail-mode:
    description: Determines how errors that occur during mod publishing process are handled
runs:
  using: node12
  main: dist/index.js