{"id":13618181,"url":"https://github.com/getsentry/action-release","last_synced_at":"2025-05-14T15:06:18.640Z","repository":{"id":37832539,"uuid":"273043452","full_name":"getsentry/action-release","owner":"getsentry","description":"GitHub Action for creating a release on Sentry","archived":false,"fork":false,"pushed_at":"2025-03-21T03:26:38.000Z","size":12977,"stargazers_count":463,"open_issues_count":20,"forks_count":57,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-05-07T01:05:22.582Z","etag":null,"topics":["tag-production"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getsentry.png","metadata":{"funding":{"custom":["https://sentry.io/pricing/","https://sentry.io/"]},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-06-17T17:53:54.000Z","updated_at":"2025-04-20T09:45:37.000Z","dependencies_parsed_at":"2023-02-08T16:16:19.543Z","dependency_job_id":"6838fae0-b179-4472-a76f-9f53d1940ad1","html_url":"https://github.com/getsentry/action-release","commit_stats":{"total_commits":122,"total_committers":19,"mean_commits":6.421052631578948,"dds":0.5573770491803278,"last_synced_commit":"ccab2088f17098afc92fc485a69b8371b393c476"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":"getsentry/typescript-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getsentry%2Faction-release","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getsentry%2Faction-release/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getsentry%2Faction-release/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getsentry%2Faction-release/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getsentry","download_url":"https://codeload.github.com/getsentry/action-release/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254169052,"owners_count":22026207,"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":["tag-production"],"created_at":"2024-08-01T20:01:55.815Z","updated_at":"2025-05-14T15:06:18.617Z","avatar_url":"https://github.com/getsentry.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://sentry.io/?utm_source=github\u0026utm_medium=logo\" target=\"_blank\"\u003e\n    \u003cpicture\u003e\n      \u003csource srcset=\"https://sentry-brand.storage.googleapis.com/sentry-logo-white.png\" media=\"(prefers-color-scheme: dark)\" /\u003e\n      \u003csource srcset=\"https://sentry-brand.storage.googleapis.com/sentry-logo-black.png\" media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\" /\u003e\n      \u003cimg src=\"https://sentry-brand.storage.googleapis.com/sentry-logo-black.png\" alt=\"Sentry\" width=\"280\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# Sentry Release GitHub Action\n\nAutomatically create a Sentry release in a workflow.\n\nA release is a version of your code that can be deployed to an environment. When you give Sentry information about your releases, you unlock a number of new features:\n\n- Determine the issues and regressions introduced in a new release\n- Predict which commit caused an issue and who is likely responsible\n- Resolve issues by including the issue number in your commit message\n- Receive email notifications when your code gets deployed\n\nAdditionally, releases are used for applying [source maps](https://docs.sentry.io/platforms/javascript/sourcemaps/) to minified JavaScript to view original, untransformed source code. You can learn more about releases in the [releases documentation](https://docs.sentry.io/workflow/releases).\n\n## What's new\n\nVersion 3 is out with improved support for source maps. We highly recommend upgrading to `getsentry/action-release@v3`.\n\nPlease refer to the [release page](https://github.com/getsentry/action-release/releases) for the latest release notes.\n\n## Prerequisites\n\nSee how to [set up the prerequisites](https://docs.sentry.io/product/releases/setup/release-automation/github-actions/#prerequisites) for the Action to securely communicate with Sentry.\n\n## Usage\n\nAdding the following to your workflow will create a new Sentry release and tell Sentry that you are deploying to the `production` environment.\n\n\u003e [!IMPORTANT]\n\u003e Make sure you are using at least v3 of [actions/checkout](https://github.com/actions/checkout) with `fetch-depth: 0`, issues commonly occur with older versions.\n\n```yaml\n- uses: actions/checkout@v4\n  with:\n    fetch-depth: 0\n\n- name: Create Sentry release\n  uses: getsentry/action-release@v3\n  env:\n    SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}\n    SENTRY_ORG: ${{ secrets.SENTRY_ORG }}\n    SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}\n    # SENTRY_URL: https://sentry.io/\n  with:\n    environment: production\n```\n\n### Inputs\n\n#### Environment Variables\n\n|name|description|default|\n|---|---|---|\n|`SENTRY_AUTH_TOKEN`|**[Required]** Authentication token for Sentry. See [installation](#create-a-sentry-internal-integration).|-|\n|`SENTRY_ORG`|**[Required]** The slug of the organization name in Sentry.|-|\n|`SENTRY_PROJECT`|The slug of the project name in Sentry. One of `SENTRY_PROJECT` or `projects` is required.|-|\n|`SENTRY_URL`|The URL used to connect to Sentry. (Only required for [Self-Hosted Sentry](https://develop.sentry.dev/self-hosted/))|`https://sentry.io/`|\n\n#### Parameters\n\n| name                      | description                                                                                                                                                                                                                 |default|\n|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| `environment`             | Set the environment for this release. E.g. \"production\" or \"staging\". Omit to skip adding deploy to release.                                                                                                                |-|\n| `sourcemaps`              | Space-separated list of paths to JavaScript sourcemaps. Omit to skip uploading sourcemaps.                                                                                                                                  |-|\n| `inject`                  | Injects Debug IDs into source files and source maps to ensure proper un-minifcation of your stacktraces. Does nothing if `sourcemaps` was not set.                                                                          |`true`|\n| `finalize`                | When false, omit marking the release as finalized and released.                                                                                                                                                             |`true`|\n| `ignore_missing`          | When the flag is set and the previous release commit was not found in the repository, will create a release with the default commits count instead of failing the command.                                                  |`false`|\n| `ignore_empty`            | When the flag is set, command will not fail and just exit silently if no new commits for a given release have been found.                                                                                                   |`false`|\n| `dist`                    | Unique identifier for the distribution, used to further segment your release. Usually your build number.                                                                                                                    |-|\n| `started_at`              | Unix timestamp of the release start date. Omit for current time.                                                                                                                                                            |-|\n| `release`                 | Identifier that uniquely identifies the releases. Should match the `release` property in your Sentry SDK init call if one was set._Note: the `refs/tags/` prefix is automatically stripped when `version` is `github.ref`._ |\u003ccode\u003e${{\u0026nbsp;github.sha\u0026nbsp;}}\u003c/code\u003e|\n| `version`                 | Deprecated: Use `release` instead.                                                                                                                                                                                          |\u003ccode\u003e${{\u0026nbsp;github.sha\u0026nbsp;}}\u003c/code\u003e|\n| `release_prefix`          | Value prepended to auto-generated version. For example \"v\".                                                                                                                                                                 |-|\n| `version_prefix`          | Deprecated: Use `release_prefix` instead.                                                                                                                                                                                 |-|\n| `set_commits`             | Specify whether to set commits for the release. Either \"auto\" or \"skip\".                                                                                                                                                    |\"auto\"|\n| `projects`                | Space-separated list of paths of projects. When omitted, falls back to the environment variable `SENTRY_PROJECT` to determine the project.                                                                                  |-|\n| `url_prefix`              | Adds a prefix to source map urls after stripping them.                                                                                                                                                                      |-|\n| `strip_common_prefix`     | Will remove a common prefix from uploaded filenames. Useful for removing a path that is build-machine-specific.                                                                                                             |`false`|\n| `working_directory`       | Directory to collect sentry release information from. Useful when collecting information from a non-standard checkout directory.                                                                                            |-|\n| `disable_telemetry`       | The action sends telemetry data and crash reports to Sentry. This helps us improve the action. You can turn this off by setting this flag.                                                                                  |`false`|\n| `disable_safe_directory`  | The action needs access to the repo it runs in. For that we need to configure git to mark the repo as a safe directory. You can turn this off by setting this flag.                                                         |`false`|\n\n\n### Examples\n\n- Create a new Sentry release for the `production` environment, inject Debug IDs into JavaScript source files and source maps and upload them from the `./dist` directory.\n\n    ```yaml\n    - uses: getsentry/action-release@v3\n      with:\n        environment: 'production'\n        sourcemaps: './dist'\n    ```\n\n- Create a new Sentry release for the `production` environment of your project at version `v1.0.1`.\n\n    ```yaml\n    - uses: getsentry/action-release@v3\n      with:\n        environment: 'production'\n        release: 'v1.0.1'\n    ```\n\n- Create a new Sentry release for [Self-Hosted Sentry](https://develop.sentry.dev/self-hosted/)\n\n    ```yaml\n    - uses: getsentry/action-release@v3\n      env:\n        SENTRY_URL: https://sentry.example.com/\n    ```\n\n\n## Contributing\n\nSee the [Contributing Guide](./CONTRIBUTING.md).\n\n## License\n\nSee the [License File](./LICENSE)\n\n## Troubleshooting\n\nSuggestions and issues can be posted on the repository's\n[issues page](https://github.com/getsentry/action-release/issues).\n\n- Forgetting to include the required environment variables\n  (`SENTRY_AUTH_TOKEN`, `SENTRY_ORG`, and `SENTRY_PROJECT`), yields an error that looks like:\n\n    ```text\n    Environment variable SENTRY_ORG is missing an organization slug\n    ```\n\n- Building and running this action locally on an unsupported environment yields an error that looks like:\n\n    ```text\n    Syntax error: end of file unexpected (expecting \")\")\n    ```\n\n- When adding the action, make sure to first check out your repo with `actions/checkout@v4`.\nOtherwise, it could fail at the `propose-version` step with the message:\n\n    ```text\n    error: Could not automatically determine release name\n    ```\n\n- In `actions/checkout@v4` the default fetch depth is 1. If you're getting the error message:\n\n    ```text\n    error: Could not find the SHA of the previous release in the git history. Increase your git clone depth.\n    ```\n\n    you can fetch all history for all branches and tags by setting the `fetch-depth` to zero like so:\n\n    ```yaml\n    - uses: actions/checkout@v4\n      with:\n        fetch-depth: 0\n    ```\n\n- Not finding the repository\n\n  ```text\n  Error: Command failed: /action-release/node_modules/@sentry/cli-linux-x64/bin/sentry-cli --header sentry-trace:ab7a03b5cd8ce324103b3ced985de08b-2bf7fecfb8a1e812-1 --header baggage:sentry-environment=production-sentry-github-action,sentry-release=1.10.5,sentry-public_key=\u003ctruncated\u003e,sentry-trace_id=ab7a03b5cd8ce324103b3ced985de08b,sentry-sample_rate=1,sentry-transaction=sentry-github-action-execution,sentry-sampled=true releases set-commits action-test --auto\n  error: could not find repository at '.'; class=Repository (6); code=NotFound (-3)\n  ```\n\n  Ensure you use `actions/checkout` before running the action\n\n  ```yaml\n    - uses: actions/checkout@v4\n      with:\n        fetch-depth: 0\n\n    - uses: getsentry/action-release@v3\n      with:\n        environment: 'production'\n        release: 'v1.0.1'\n    ```\n","funding_links":["https://sentry.io/pricing/","https://sentry.io/"],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetsentry%2Faction-release","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetsentry%2Faction-release","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetsentry%2Faction-release/lists"}