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
- The Sentry Loader for JavaScript
- The SDK update prompt in Sentry event pages
api-server: A small web service that services up the contents of this repoapps: A registry of all binary apps and utilities we distributebin: Some utility scripts to maintain the files herepackages: A registry of all packages we publish that we want to collect releases ofsdks: Canonical representations of packages that together form an sdkmarketing-slugs: Short names for sdks the docs would use
Some of the information here is maintained as symlinks, so this repo only works on unix platforms.
-
Create
packages/<registry>/<package_name>/<exact_version>.jsonfor each version you want to register.<registry>: The package index used. Just create a new directory if you are missing one. Stick to alphanumeric characters and you should be fine.<package_name>: Can be multiple folders, e.g.@sentry/node.<exact_version>:0.3.0, not0.3or0. Preview versions such as0.3.0-preview2or0.3.0-rc2also work.
-
Add the following contents:
{ "name": "Name of your platform", "canonical": "<registry>:<package_name>", "version": "<exact_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_urlconfig as well:{ "name": "Name of your platform", "canonical": "<registry>:<package_name>", "version": "<exact_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" } -
cd sdks && ln -s ../packages/<registry>/<package_name> <sdk_name>-
<sdk_name>: The same identifier used in thesdk_info.namefield of the event.E.g. the Python SDK sends events like this:
{ "message": "Hello world!", ..., "sdk_info": {"name": "sentry.python", ...} }
-
-
Run
make sync-all-linksto fix up symlinks.
-
Create
apps/<app_name>/<exact_version>.jsonfor each version you want to register.<package_name>: Can be multiple folders, e.g.@sentry/node.<exact_version>:0.3.0, not0.3or0. Preview versions such as0.3.0-preview2or0.3.0-rc2also work.
-
Add the following contents:
{ "name": "Human readable application name", "canonical": "app:<app_name>", "version": "<exact_version>", "repo_url": "Link to GitHub repo", "main_docs_url": "Link to docs page", "file_urls": { "<filename_with_ext>": "https://downloads.sentry-cdn.com/<app_name>/<exact_version>/<filename_with_ext>" } } -
Run
make sync-all-linksto fix up symlinks.
Basically add a new JSON file like above, and run make sync-all-links again.
You might want to use Craft which can do
this for you as part of your release process.