name: 'Speckle Automate function version publisher'
description: 'Publishes a new version of a Speckle Automate Function to the Speckle Automate platform.'
author: 'Speckle Systems'
branding:
  icon: 'upload-cloud'
  color: 'blue'
inputs:
  speckle_automate_url:
    description: 'Speckle Automate URL.'
    required: false
    default: 'https://automate.speckle.dev'
  speckle_token:
    description: 'Token for authentication to Speckle Automate, allowing publishing of Speckle Automate Functions. **The token must be stored in GitHub as an encrypted secret**.'
    required: true
  speckle_function_id:
    description: 'The unique identifier of the function. Go to automate to generate one.'
    required: true
  speckle_function_input_schema_file_path:
    description: 'File path containing JSON Schema of the parameters object required by the function.'
    required: false
  speckle_function_command:
    description: 'The command to run to execute the function in a runtime environment.'
    required: true
  speckle_function_release_tag:
    description: 'User defined tag for the function release'
    required: true
  speckle_function_recommended_cpu_m:
    description: 'The recommended maximum CPU in millicores for the function. 1000 millicores = 1 CPU core. Defaults to 1000 millicores (1 CPU core). If the Function exceeds this limit, it will be throttled to run within the limit.'
    required: false
  speckle_function_recommended_memory_mi:
    description: 'The recommended maximum memory in mebibytes for the function. 1024 mebibytes = 1 gibibyte. Defaults to 100 mebibytes. If the Function exceeds this limit, it will be terminated.'
    required: false
outputs:
  speckle_automate_function_release_id:
    description: 'The unique identifier of the function release.'
runs:
  using: 'node16' #FIXME bump to node18 when available
  main: 'dist/action/index.js'
