https://github.com/getsentry/sentry-release-registry
Meta repository with collected release history for SDKs and apps
https://github.com/getsentry/sentry-release-registry
tag-production
Last synced: 7 months ago
JSON representation
Meta repository with collected release history for SDKs and apps
- Host: GitHub
- URL: https://github.com/getsentry/sentry-release-registry
- Owner: getsentry
- License: mit
- Created: 2018-09-10T08:50:34.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-21T13:07:04.000Z (7 months ago)
- Last Synced: 2025-03-22T06:47:10.587Z (7 months ago)
- Topics: tag-production
- Language: Python
- Size: 13.4 MB
- Stars: 13
- Watchers: 40
- Forks: 20
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sentry Release Registry
This is a meta repository holding release information for Sentry repositories.
It centralizes information that used to be in different locations. It is known
to be used by at least:- The [SDK docs][sdk-docs]
- The [Sentry Loader for JavaScript][js-loader]
- The [SDK update prompt][sdk-update-prompt] in Sentry event pages[sdk-docs]: https://github.com/getsentry/sentry-docs/
[js-loader]: https://docs.sentry.io/platforms/javascript/#lazy-loading-sentry
[sdk-update-prompt]: https://github.com/getsentry/sentry/blob/ea791cb482d6f77481beed41e64ccc52ce10bc65/src/sentry/sdk_updates.py## Layout
- `api-server`: A small web service that services up the contents of this repo
- `apps`: A registry of all binary apps and utilities we distribute
- `bin`: Some utility scripts to maintain the files here
- `packages`: A registry of all packages we publish that we want to collect
releases of
- `sdks`: Canonical representations of packages that together form an sdk
- `marketing-slugs`: Short names for sdks the docs would useSome of the information here is maintained as symlinks, so this repo only works
on unix platforms.## Adding New SDKs
1. Create `packages///.json` for each
version you want to register.- ``: The package index used. Just create a new directory if you
are missing one. Stick to alphanumeric characters and you should be fine.
- ``: Can be multiple folders, e.g. `@sentry/node`.
- ``: `0.3.0`, not `0.3` or `0`. Preview versions such as
`0.3.0-preview2` or `0.3.0-rc2` also work.2. Add the following contents:
```json
{
"name": "Name of your platform",
"canonical": ":",
"version": "",
"package_url": "Link to PyPI, RubyGems, npmjs.com",
"repo_url": "Link to GitHub repo",
"main_docs_url": "Link to platform page"
}
```If your SDK provides API docs, add the `api_docs_url` config as well:
```json
{
"name": "Name of your platform",
"canonical": ":",
"version": "",
"package_url": "Link to PyPI, RubyGems, npmjs.com",
"repo_url": "Link to GitHub repo",
"main_docs_url": "Link to platform page",
"api_docs_url": "Link to API docs"
}
```3. `cd sdks && ln -s ../packages// `
- ``: The same identifier used in the `sdk_info.name` field of the
event.E.g. the Python SDK sends events like this:
```json
{
"message": "Hello world!",
...,
"sdk_info": {"name": "sentry.python", ...}
}
```4. Run `make sync-all-links` to fix up symlinks.
## Adding New Apps
1. Create `apps//.json` for each version you want to
register.- ``: Can be multiple folders, e.g. `@sentry/node`.
- ``: `0.3.0`, not `0.3` or `0`. Preview versions such as
`0.3.0-preview2` or `0.3.0-rc2` also work.2. Add the following contents:
```json
{
"name": "Human readable application name",
"canonical": "app:",
"version": "",
"repo_url": "Link to GitHub repo",
"main_docs_url": "Link to docs page",
"file_urls": {
"": "https://downloads.sentry-cdn.com///"
}
}
```3. Run `make sync-all-links` to fix up symlinks.
## Releasing
Basically add a new JSON file like above, and run `make sync-all-links` again.
You might want to use [Craft](https://github.com/getsentry/craft) which can do
this for you as part of your release process.