Files
release-please-manifest-action/action.yml
Jim Myhrberg 4d6baa6f81 feat(action)!: change default manifest file path
Brings this action more inline with the upstream action, by keeping the
config and manifest filenames identical, and simply moving them into the
".github" directory.

BREAKING CHANGE: Change default manifest path to `.github/.release-please-manifest.json`.
2023-05-08 01:22:13 +01:00

148 lines
5.0 KiB
YAML

---
name: "release-please-action"
description: >-
Opinionated action for running release-please in manifest mode with optional
support to authenticate as a GitHub App.
author: "jimeh"
inputs:
token:
description: >-
GitHub token used to authenticate.
required: false
default: ${{ github.token }}
app-id:
description: >-
ID of the GitHub App to use for authentication. If set, takes precedence
over token input.
required: false
private-key:
description: >-
Private key of the GitHub App (can be Base64 encoded). Required when
app-id is provided.
required: false
installation-id:
description: >-
ID of the installation for which the app token will be requested. Defaults
to the ID of the repository's installation.
permissions:
description: >-
JSON-stringified permissions granted to the app token. Defaults to all the
GitHub app permissions, see:
https://docs.github.com/en/rest/apps/apps#create-an-installation-access-token-for-an-app
github-api-url:
description: Configure github API URL.
required: false
default: ${{ github.api_url }}
repository:
description: >-
The full name of the repository to operate on in owner/repo format.
Defaults to the current repository.
default: ${{ github.repository }}
default-branch:
description: >-
Branch to open pull release PR against. Defaults to the repository's
default branch.
required: false
default: ""
config-file:
description: Pat to config file within the project.
required: false
default: ".github/release-please-config.json"
manifest-file:
description: Path to manifest file within the project.
required: false
default: ".github/.release-please-manifest.json"
outputs:
release_created:
description: "Whether or not a release was created."
value: ${{ steps.release-please.outputs.release_created }}
releases_created:
description: "Whether or not a release was created."
value: ${{ steps.release-please.outputs.releases_created }}
id:
description: "Release ID."
value: ${{ steps.release-please.outputs.id }}
name:
description: "Release name."
value: ${{ steps.release-please.outputs.name }}
tag_name:
description: "Release tag name."
value: ${{ steps.release-please.outputs.tag_name }}
sha:
description: "Release sha"
value: ${{ steps.release-please.outputs.sha }}
body:
description: "Release body."
value: ${{ steps.release-please.outputs.body }}
html_url:
description: "Release URL."
value: ${{ steps.release-please.outputs.html_url }}
draft:
description: "Whether or not the release is a draft."
value: ${{ steps.release-please.outputs.draft }}
upload_url:
description: "Release upload URL."
value: ${{ steps.release-please.outputs.upload_url }}
path:
description: "Path that was released."
value: ${{ steps.release-please.outputs.path }}
version:
description: "Version that was released."
value: ${{ steps.release-please.outputs.version }}
major:
description: "Major version that was released."
value: ${{ steps.release-please.outputs.major }}
minor:
description: "Minor version that was released."
value: ${{ steps.release-please.outputs.minor }}
patch:
description: "Patch version that was released."
value: ${{ steps.release-please.outputs.patch }}
paths_released:
description: "Paths that were released."
value: ${{ steps.release-please.outputs.paths_released }}
pr:
description: "Pull request number."
value: ${{ steps.release-please.outputs.pr }}
prs:
description: "Pull request numbers."
value: ${{ steps.release-please.outputs.prs }}
release-please:
description: "All outputs from release-please action as a JSON string."
value: ${{ toJSON(steps.release-please.outputs) }}
runs:
using: "composite"
steps:
- uses: tibdex/github-app-token@v1
if: inputs.app-id != null && inputs.app-id != ''
id: github-app-token
with:
app_id: ${{ inputs.app-id }}
installation_id: ${{ inputs.installation-id }}
github_api_url: ${{ inputs.github-api-url }}
permissions: ${{ inputs.permissions }}
private_key: ${{ inputs.private-key }}
repository: ${{ github.repository }}
- name: Determine which token to use
id: token
run: |-
echo "token=${APP_TOKEN:-$INPUT_TOKEN}" >> "$GITHUB_OUTPUT"
env:
APP_TOKEN: "${{ steps.github-app-token.outputs.token }}"
INPUT_TOKEN: "${{ inputs.token }}"
shell: bash
- uses: google-github-actions/release-please-action@v3
id: release-please
with:
command: manifest
token: ${{ steps.token.outputs.token }}
default-branch: ${{ inputs.default-branch }}
config-file: ${{ inputs.config-file }}
manifest-file: ${{ inputs.manifest-file }}
github-api-url: ${{ inputs.github-api-url }}
github-graphql-url: ${{ inputs.github-api-url }}
repo-url: ${{ inputs.repository }}