github-actions-maintainer 0.4.2

General-purpose GitHub Actions maintenance toolkit with secure workflow pinning
Documentation
name: ThreatFlux Auto Release
author: ThreatFlux
description: Bump the Cargo version from conventional commits, then commit, tag, and publish a GitHub Release entirely through the GitHub API.
branding:
  icon: tag
  color: blue

inputs:
  token:
    description: GitHub token with contents write permission on the target repository.
    required: false
    default: ${{ github.token }}
  owner:
    description: Repository owner; defaults to the owner from GITHUB_REPOSITORY.
    required: false
    default: ""
  repo-name:
    description: Repository name; defaults to the name from GITHUB_REPOSITORY.
    required: false
    default: ""
  repo:
    description: Path to the checked-out repository.
    required: false
    default: "."
  base-branch:
    description: Branch to release from; defaults to the repository default branch.
    required: false
    default: ""
  bump:
    description: Version bump strategy. Use auto, major, minor, or patch.
    required: false
    default: "auto"
  tag-prefix:
    description: Prefix for release tags.
    required: false
    default: "v"
  update-major-alias:
    description: Also move the moving major alias tag (for example v1) to the new release.
    required: false
    default: "false"
  notes-file:
    description: Path where generated release notes are written, including on dry runs.
    required: false
    default: "release_notes.md"
  commit-message:
    description: Release commit message template; "{version}" is replaced with the new version.
    required: false
    default: "chore: release v{version}"
  dry-run:
    description: Analyze and report without creating any commit, tag, or release.
    required: false
    default: "false"

outputs:
  released:
    description: Whether a release was created (true or false).
  version:
    description: The released version without the tag prefix, empty when skipped without a computed version.
  tag:
    description: The created release tag, empty when skipped without a computed version.
  release-url:
    description: URL of the created GitHub Release, empty unless released.
  notes-file:
    description: Path to the generated release notes file, empty when no notes were generated.

runs:
  using: docker
  image: Dockerfile
  args:
    - release
    - --repo
    - ${{ inputs.repo }}
    - --token
    - ${{ inputs.token }}
    - --owner
    - ${{ inputs.owner }}
    - --repo-name
    - ${{ inputs.repo-name }}
    - --base-branch
    - ${{ inputs.base-branch }}
    - --bump
    - ${{ inputs.bump }}
    - --tag-prefix
    - ${{ inputs.tag-prefix }}
    - --notes-file
    - ${{ inputs.notes-file }}
    - --commit-message
    - ${{ inputs.commit-message }}
    - --update-major-alias
    - ${{ inputs.update-major-alias }}
    - --dry-run
    - ${{ inputs.dry-run }}