terradatum/Auto Action

Generate releases based on semantic version labels on pull requests, and other pull request automation tools.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
Runtime
Deprecated runtime
namedescriptionrequireddefault
commandChoose one of the commands below. Setup Commands * info: Determine the environment and check if auto is set up correctly Pull Request Interaction Commands * label: Get the labels for a pull request. Doesn't do much, but the return value lets you write you own scripts based off of the PR labels! * comment: Comment on a pull request with a markdown message. Each comment has a context, and each context only has one comment. * pr-check: Check that a pull request has a SemVer label * pr-status: Set the status on a PR commit * pr-body: Update the body of a PR with a message. Appends to PR and will not overwrite user content. Each comment has a context, and each context only has one comment. Release Commands * version: Get the semantic version bump for the given changes. Requires all PRs to have labels for the change type. If a PR does not have a label associated with it, it will default to `patch`. * changelog: Prepend release notes to `CHANGELOG.md`, create one if it doesn't exist, and commit the changes. * release: Auto-generate a github release * shipit: Context aware publishing. 1. call from base branch -> latest version released (LATEST) 2. call from prerelease branch -> prerelease version released (NEXT) 3. call from PR in CI -> canary version released (CANARY) 4. call locally when not on base/prerelease branch -> canary version released (CANARY) * latest: Run the full `auto` release pipeline. Force a release to latest and bypass `shipit` safeguards. * canary: Make a canary release of the project. Useful on PRs. If ran locally, `canary` will release a canary version for your current git HEAD. This is ran automatically from "shipit". 1. In PR: 1.2.3-canary.123.0 + add version to PR body 2. Locally: 1.2.3-canary.1810cfd * next: Make a release for your "prerelease" release line. This is ran automatically from "shipit". 1. Creates a prerelease on package management platform 2. Creates a "Pre Release" on GitHub releases page. Calling the `next` command from a prerelease branch will publish a prerelease, otherwise it will publish to the default prerelease branch. noshipit
repoThe repo to set status on. Defaults to looking in the package definition for the platform. (global)no
ownerThe owner of the GitHub repo. Defaults to reading from the package definition for the platform (global)no
github-apiThe url to GitHub Enterprise API (global)no
pluginsPlugins to load auto with. If running the binary distribution, the default plugin is 'git-tag', if running from 'node_modules', then it's 'npm'. (global) no
dry-runReport what a command will do but do not actually do anything. (changelog, release, shipit, latest, next, canary)nofalse
base-branchBranch to treat as the 'master' branch. (changelog, release, shipit, latest)no
fromTag to start the CHANGELOG notes from. Defaults to latest tag. (version, changelog, release)no
only-graduate-with-release-labelMake auto publish prerelease versions when merging to master. Only PRs merged with "release" label will generate a "latest" release. Only use this flag if you do not want to maintain a prerelease branch, and instead only want to use master. (shipit) nofalse
only-publish-with-release-labelOnly bump version if 'release' label is on pull request. (version, shipit)notrue
nameThe name to use with git. Defaults to package definitions for the platform. (changelog, release)no
emailGit email to commit with. Defaults to package definition for the platform (changelog, release)no
no-version-prefixUse the version as the tag without the 'v' prefix. WARNING: some plugins might need extra config to use this option (ex: npm). (changelog, release) nofalse
toGit revision (tag, commit sha, ...) to start release notes from. Defaults to latest tag. (changelog)no
titleOverride the default title of the CHANGELOG entry.no
messageDepending on the command: * changelog: message to commit to the changelog * next: Message used when attaching the prerelease version to the PR * canary: Message to comment on PR with for canary release * pr-body: Message to post to PR Body * comment: Message to post to comment no
prThe pull request the command should use. Detects PR number in CI (defaults to last merged PR). (canary, label, pr-status, pr-check, pr-body, comment) no
use-versionVersion number to publish as. Defaults to reading from the package definition for the platform. (release)no
pre-releasePublish a prerelease. (release)nofalse
buildBuild number to use to create the canary version. Detected in CI env. (canary)no
forceForce a canary release, even if the PR is marked to skip the release (canary)nofalse
contextA string label to differentiate this status from others. (pr-status, pr-check, pr-body, comment)no
urlURL to associate with this status. (pr-status, pr-check)no
shaSpecify a custom git sha. Defaults to the HEAD for a git repo in the current repository. (pr-status)no
stateState of the PR. ['pending', 'success', 'error', 'failure']. (pr-status)no
descriptionA description of the status. (pr-status)no
editEdit an old comment. (pr-body)nofalse
deleteDelete an old comment. (pr-body)nofalse

no outputs