stablyai/orca · error

Usage: node config/scripts/verify-release-required-assets.mj

Error message

Usage: node config/scripts/verify-release-required-assets.mjs <tag>

What it means

Usage guard in main(): the script requires exactly one positional argument — the git tag to verify. With no argv[2] there is nothing to look up, so it aborts with the canonical invocation string rather than proceeding to a meaningless API call.

Source

Thrown at config/scripts/verify-release-required-assets.mjs:147

        empty.length > 0 ? `Empty: ${empty.join(', ')}` : null
      ]
        .filter(Boolean)
        .join('\n')
    )
  }

  return {
    tag,
    checked: [...requiredNames].sort(),
    draft: release.draft,
    prerelease: release.prerelease
  }
}

async function main() {
  const tag = process.argv[2]
  if (!tag) {
    throw new Error('Usage: node config/scripts/verify-release-required-assets.mjs <tag>')
  }
  const token = process.env.GH_TOKEN || process.env.GITHUB_TOKEN
  if (!token) {
    throw new Error('GH_TOKEN or GITHUB_TOKEN must be set')
  }
  const repo = process.env.GITHUB_REPOSITORY || 'stablyai/orca'
  const result = await verifyRequiredReleaseAssets({ repo, tag, token })
  console.log(`Verified ${result.checked.length} required release assets for ${repo}@${tag}`)
}

if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
  main().catch((error) => {
    console.error(error.message)
    process.exit(1)
  })
}

View on GitHub (pinned to 1136503c6a)

Solutions

  1. Pass the tag as the first positional argument: node config/scripts/verify-release-required-assets.mjs v1.2.3.
  2. If running from a workflow, ensure the tag input/env var is populated before this step (e.g. echo the value in a prior step).
  3. Add an explicit check in the workflow that the tag is non-empty before calling the script.

Example fix

# before
node config/scripts/verify-release-required-assets.mjs
# after
node config/scripts/verify-release-required-assets.mjs v1.2.3
Defensive patterns

Strategy: validation

Validate before calling

# In the workflow step, guard before invoking:
# - name: Verify release assets
#   run: node config/scripts/verify-release-required-assets.mjs "${{ inputs.tag }}"
#   if: inputs.tag != ''
# Or in shell:
[ -n "$1" ] || { echo 'tag required'; exit 2; }

Prevention

When it happens

Trigger: Invoking the script with no arguments; invoking via a wrapper that swallows positional args; CI workflow step that passes the tag through an unset variable (e.g. an empty ${{ inputs.tag }}).

Common situations: Manual local run of the script without a tag; workflow yaml referencing an undefined input or output variable for the tag; shell quoting that collapses an empty tag to nothing.

Related errors


AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12). Data as JSON: /api/errors/2bd7cfc6dfa40ebc. Report an issue: GitHub.