{"id":22072408,"url":"https://github.com/terradatum/auto-action","last_synced_at":"2025-06-18T22:34:19.661Z","repository":{"id":42898418,"uuid":"252660023","full_name":"terradatum/auto-action","owner":"terradatum","description":"GitHub Action to run intuit's auto - Automated releases powered by pull request labels","archived":false,"fork":false,"pushed_at":"2023-01-06T02:46:12.000Z","size":2205,"stargazers_count":5,"open_issues_count":17,"forks_count":1,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-06-06T07:06:23.517Z","etag":null,"topics":["actions","auto","github-actions"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/auto-action","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/terradatum.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-03T07:20:41.000Z","updated_at":"2024-06-09T14:09:58.000Z","dependencies_parsed_at":"2023-02-05T03:46:42.904Z","dependency_job_id":null,"html_url":"https://github.com/terradatum/auto-action","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/terradatum/auto-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terradatum%2Fauto-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terradatum%2Fauto-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terradatum%2Fauto-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terradatum%2Fauto-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/terradatum","download_url":"https://codeload.github.com/terradatum/auto-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terradatum%2Fauto-action/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260301992,"owners_count":22988722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","auto","github-actions"],"created_at":"2024-11-30T21:13:08.812Z","updated_at":"2025-06-18T22:34:14.641Z","avatar_url":"https://github.com/terradatum.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auto Action\n\n![Build and Release][workflows-badge-image]\n[![Release date][release-date-image]][release-url]\n[![auto-release][auto-image]][auto-url]\n[![npm license][license-image]][license-url]\n\n# Workflow\n\nIn general the workflow is:\n1. `auto changelog`\n2. `auto version`\n3. Use the version from step 2 to bump the version in your package file (e.g. `package.json`, or `pom.xml`, etc.)\n4. Publish the artifact\n5. Push the new tag\n6. `auto release`\n\n*OR*\n1. `auto shipit` _(which takes care of all the steps above)_\n\n# Usage\n\nIf your project uses npm, this action will attempt to run auto using npx. If that fails, it will go looking in the $PATH\nfor a binary. If it finds neither, it will not run.\n\nauto expects to have the full history and tags available for inspection, you must use `git fetch --unshallow --tags` when\nchecking out your code:\n\n```yaml\nsteps:\n  - name: Checkout\n    uses: actions/checkout@v2\n  - run: git fetch --unshallow --tags\n```\n\n\u003c!-- start usage --\u003e\n```yaml\n- uses: terradatum/auto-action@master\n  with:\n    # Choose one of the commands below.\n    # Setup Commands\n    # * info: Determine the environment and check if auto is set up correctly\n    # Pull Request Interaction Commands\n    # * label: Get the labels for a pull request. Doesn't do much, but the return\n    # value lets you write you own scripts based off of the PR labels! * comment:\n    # Comment on a pull request with a markdown message. Each comment has a context,\n    # and each context only has one comment. * pr-check: Check that a pull request has\n    # a SemVer label * pr-status: Set the status on a PR commit * pr-body: Update the\n    # body of a PR with a message. Appends to PR and will not overwrite user content.\n    # Each comment has a context, and each context only has one comment.\n    # Release Commands\n    # * version: Get the semantic version bump for the given changes. Requires all PRs\n    # to have labels for the change type. If a PR does not have a label associated\n    # with it, it will default to `patch`. * changelog: Prepend release notes to\n    # `CHANGELOG.md`, create one if it doesn't exist, and commit the changes. *\n    # release: Auto-generate a github release * shipit: Context aware publishing.\n    #  1. call from base branch -\u003e latest version released (LATEST)\n    #  2. call from prerelease branch -\u003e prerelease version released (NEXT)\n    #  3. call from PR in CI -\u003e canary version released (CANARY)\n    #  4. call locally when not on base/prerelease branch -\u003e canary version released\n    # (CANARY)\n    # * latest: Run the full `auto` release pipeline. Force a release to latest and\n    # bypass `shipit` safeguards. * canary: Make a canary release of the project.\n    # Useful on PRs. If ran locally, `canary` will release a canary version for your\n    # current git HEAD. This is ran automatically from \"shipit\".\n    #  1. In PR: 1.2.3-canary.123.0 + add version to PR body\n    #  2. Locally: 1.2.3-canary.1810cfd\n    # * next: Make a release for your \"prerelease\" release line. This is ran\n    # automatically from \"shipit\".\n    #  1. Creates a prerelease on package management platform\n    #  2. Creates a \"Pre Release\" on GitHub releases page.\n    #\n    # Calling the `next` command from a prerelease branch will publish a prerelease,\n    # otherwise it will publish to the default prerelease branch.\n    #\n    # Default: shipit\n    command: ''\n\n    # The repo to set status on. Defaults to looking in the package definition for the\n    # platform. (global)\n    repo: ''\n\n    # The owner of the GitHub repo. Defaults to reading from the package definition\n    # for the platform (global)\n    owner: ''\n\n    # The url to GitHub Enterprise API (global)\n    github-api: ''\n\n    # Plugins to load auto with. If running the binary distribution, the default\n    # plugin is 'git-tag', if running from 'node_modules', then it's 'npm'. (global)\n    plugins: ''\n\n    # Report what a command will do but do not actually do anything. (changelog,\n    # release, shipit, latest, next, canary)\n    # Default: false\n    dry-run: ''\n\n    # Branch to treat as the 'master' branch. (changelog, release, shipit, latest)\n    base-branch: ''\n\n    # Tag to start the CHANGELOG notes from. Defaults to latest tag. (version,\n    # changelog, release)\n    from: ''\n\n    # Make auto publish prerelease versions when merging to master. Only PRs merged\n    # with \"release\" label will generate a \"latest\" release. Only use this flag if you\n    # do not want to maintain a prerelease branch, and instead only want to use\n    # master. (shipit)\n    # Default: false\n    only-graduate-with-release-label: ''\n\n    # Only bump version if 'release' label is on pull request. (version, shipit)\n    # Default: true\n    only-publish-with-release-label: ''\n\n    # The name to use with git. Defaults to package definitions for the platform.\n    # (changelog, release)\n    name: ''\n\n    # Git email to commit with. Defaults to package definition for the platform\n    # (changelog, release)\n    email: ''\n\n    # Use the version as the tag without the 'v' prefix. WARNING: some plugins might\n    # need extra config to use this option (ex: npm). (changelog, release)\n    # Default: false\n    no-version-prefix: ''\n\n    # Git revision (tag, commit sha, ...) to start release notes from. Defaults to\n    # latest tag. (changelog)\n    to: ''\n\n    # Override the default title of the CHANGELOG entry.\n    title: ''\n\n    # Depending on the command:\n    #  * changelog: message to commit to the changelog\n    #  * next: Message used when attaching the prerelease version to the PR\n    #  * canary: Message to comment on PR with for canary release\n    #  * pr-body: Message to post to PR Body\n    #  * comment: Message to post to comment\n    message: ''\n\n    # The pull request the command should use. Detects PR number in CI (defaults to\n    # last merged PR). (canary, label, pr-status, pr-check, pr-body, comment)\n    pr: ''\n\n    # Version number to publish as. Defaults to reading from the package definition\n    # for the platform. (release)\n    use-version: ''\n\n    # Publish a prerelease. (release)\n    # Default: false\n    pre-release: ''\n\n    # Build number to use to create the canary version. Detected in CI env. (canary)\n    build: ''\n\n    # Force a canary release, even if the PR is marked to skip the release (canary)\n    # Default: false\n    force: ''\n\n    # A string label to differentiate this status from others. (pr-status, pr-check,\n    # pr-body, comment)\n    context: ''\n\n    # URL to associate with this status. (pr-status, pr-check)\n    url: ''\n\n    # Specify a custom git sha. Defaults to the HEAD for a git repo in the current\n    # repository. (pr-status)\n    sha: ''\n\n    # State of the PR. ['pending', 'success', 'error', 'failure']. (pr-status)\n    state: ''\n\n    # A description of the status. (pr-status)\n    description: ''\n\n    # Edit an old comment. (pr-body)\n    # Default: false\n    edit: ''\n\n    # Delete an old comment. (pr-body)\n    # Default: false\n    delete: ''\n```\n\u003c!-- end usage --\u003e\n\nThe action's configuration will always override the `.autorc` settings, with the exception of those options which are\n[exclusive to `.autorc`][auto-exclusive-options] and not available via the command line.\n\n[Make sure to read the `auto` documentation.][auto-docs]\n\n## Make Latest Release\n\nIf your project is already published then you need to make sure that your last release is tagged and that it's the `Latest \nRelease` on GitHub.\n\nTo tag your last release find that last commit where you bumped the version and run the following commands with your \nversion number.\n\n```shell script\ngit tag v1.2.3\ngit push --tags\n```\n\nThen on GitHub go to your project's releases and click Draft a new release. In the Tag version field enter the version \nnumber you just tagged and click `Publish release`.\n\nNow your github project is set up to use auto.\n\n## Basic Usage\n\nExpects correct setup with an `.autorc` and correct values in your package control file (e.g. `package.json` or `pom.xml`).\n\n```yaml\nsteps:\n  - name: Checkout\n    uses: actions/checkout@v2\n  - run: git fetch --unshallow --tags\n  - name: auto shipit\n    uses: terradatum/auto-action@master\n    env:\n      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n```\n\n## Advanced Usage\n\n```yaml\nsteps:\n  - name: Checkout\n    uses: actions/checkout@v2\n  - run: git fetch --unshallow --tags\n  - name: auto release\n    uses: terradatum/auto-action@master\n    env:\n      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n    with:\n      email: kbaz@gmail.com\n      name: Kathy Baz\n      command: release\n      plugins: |\n        npm\n        git-tag\n        releases\n```\n\n## Changelog\nSee [CHANGELOG][changelog-url].\n\n## License\nThis project is released under the [MIT License][license-url].\n\n\u003c!-- Links: --\u003e\n[workflows-badge-image]: https://github.com/terradatum/auto-action/workflows/Build%20and%20Release/badge.svg\n[release-date-image]: https://img.shields.io/github/release-date/terradatum/auto-action\n[release-url]: https://github.com/terradatum/auto-action/releases\n\n[auto-image]: https://img.shields.io/badge/release-auto.svg?style=flat-square\u0026colorA=888888\u0026amp;colorB=9B065A\u0026amp;label=auto\u0026amp;logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAACzElEQVR4AYXBW2iVBQAA4O+/nLlLO9NM7JSXasko2ASZMaKyhRKEDH2ohxHVWy6EiIiiLOgiZG9CtdgG0VNQoJEXRogVgZYylI1skiKVITPTTtnv3M7+v8UvnG3M+r7APLIRxStn69qzqeBBrMYyBDiL4SD0VeFmRwtrkrI5IjP0F7rjzrSjvbTqwubiLZffySrhRrSghBJa8EBYY0NyLJt8bDBOtzbEY72TldQ1kRm6otana8JK3/kzN/3V/NBPU6HsNnNlZAz/ukOalb0RBJKeQnykd7LiX5Fp/YXuQlfUuhXbg8Di5GL9jbXFq/tLa86PpxPhAPrwCYaiorS8L/uuPJh1hZFbcR8mewrx0d7JShr3F7pNW4vX0GRakKWVk7taDq7uPvFWw8YkMcPVb+vfvfRZ1i7zqFwjtmFouL72y6C/0L0Ie3GvaQXRyYVB3YZNE32/+A/D9bVLcRB3yw3hkRCdaDUtFl6Ykr20aaLvKoqIXUdbMj6GFzAmdxfWx9iIRrkDr1f27cFONGMUo/gRI/jNbIMYxJOoR1cY0OGaVPb5z9mlKbyJP/EsdmIXvsFmM7Ql42nEblX3xI1BbYbTkXCqRnxUbgzPo4T7sQBNeBG7zbAiDI8nWfZDhQWYCG4PFr+HMBQ6l5VPJybeRyJXwsdYJ/cRnlJV0yB4ZlUYtFQIkMZnst8fRrPcKezHCblz2IInMIkPzbbyb9mW42nWInc2xmE0y61AJ06oGsXL5rcOK1UdCbEXiVwNXsEy/6+EbaiVG8eeEAfxvaoSBnCH61uOD7BS1Ul8ESHBKWxCrdyd6EYNKihgEVrwOAbQruoytuBYIFfAc3gVN6iawhjKyNCEpYhVJXgbOzARyaU4hCtYizq5EI1YgiUoIlT1B7ZjByqmRWYbwtdYjoWoN7+LOIQefIqKawLzK6ID69GGpQgwhhEcwGGUzfEPAiPqsCXadFsAAAAASUVORK5CYII=\n[auto-url]: https://github.com/intuit/auto\n\n[license-image]: https://img.shields.io/npm/l/@terradatum/auto-action.svg\n[license-url]: https://github.com/terradatum/auto-action/blob/master/LICENSE.md\n\n[changelog-url]: https://github.com/terradatum/auto-action/blob/master/CHANGELOG.md\n\n[auto-exclusive-options]: https://intuit.github.io/auto/pages/autorc.html#exclusive-options\n[auto-docs]: https://intuit.github.io/auto/pages/introduction.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterradatum%2Fauto-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterradatum%2Fauto-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterradatum%2Fauto-action/lists"}