You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-20Lines changed: 1 addition & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,10 +10,6 @@
10
10
11
11
# Sentry Release GitHub Action
12
12
13
-
> [!IMPORTANT]
14
-
> This action is currently only available for Linux runners.
15
-
> See [this issue](https://github.com/getsentry/action-release/issues/58) for more details.
16
-
17
13
Automatically create a Sentry release in a workflow.
18
14
19
15
A 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:
@@ -36,22 +32,7 @@ Please refer to the [release page](https://github.com/getsentry/action-release/r
36
32
37
33
## Prerequisites
38
34
39
-
### Create an Organization Auth Token
40
-
41
-
For this action to communicate securely with Sentry, you'll need to [create an organization auth token](https://docs.sentry.io/account/auth-tokens/#organization-auth-tokens).
42
-
43
-
44
-
You also need to set your Organization and Project slugs and if you're using a self-hosted Sentry instance, provide the URL used to connect to Sentry via SENTRY_URL.
45
-
46
-
```bash
47
-
SENTRY_AUTH_TOKEN=sntrys_YOUR_TOKEN_HERE
48
-
SENTRY_ORG=example-org
49
-
SENTRY_PROJECT=example-project
50
-
# For self-hosted
51
-
# SENTRY_URL=https://my-sentry-url
52
-
```
53
-
54
-
We recommend storing these as [encrypted secrets](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) on your repository.
35
+
See 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.
Copy file name to clipboardExpand all lines: docs/development.md
+10-79Lines changed: 10 additions & 79 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,6 @@ You can run unit tests with `yarn test`.
17
17
18
18
### E2E testing on GitHub's CI
19
19
20
-
The first job in [test.yml](../.github/workflows/test.yml) has instructions on how to tweak a job in order to execute your changes as part of the PR.
21
-
22
20
> [!NOTE]
23
21
> Contributors will need to create an internal integration in their Sentry org and need to be an admin.
24
22
> See [#Prerequisites](../README.md#prerequisites).
@@ -30,91 +28,24 @@ Members of this repo will not have to set anything up since [the integration](ht
30
28
> [!NOTE]
31
29
> This assumes that you have gone through the [#Usage](../README.md#usage) section and have managed to get your GitHub repository to have worked with this action.
32
30
33
-
> [!NOTE]
34
-
> Once we start producing Docker images for PRs we can get rid of the need of using the `sed` command below.
35
-
36
31
**Step 1**
37
32
38
-
- Create a branch, make changes and push it
39
-
- Run this command, commit the changes and push it
40
-
- This will cause the action-release to be built using the `Dockerfile`
41
-
- You will need to revert this change once your changes are approved and ready to be merged
42
-
43
-
```shell
44
-
sed -i .backup 's|docker://ghcr.io/getsentry/action-release-image:latest|Dockerfile|' action.yml
45
-
```
33
+
- Create a branch, make changes
34
+
- If possible, add unit and E2E tests (inside `.github/workflows/test.yml`)
35
+
- Run `yarn install` to install deps
36
+
- Run `yarn build` to build the action
37
+
- Commit the changes and the build inside `dist/`
46
38
47
39
**Step 2**
48
-
Test out your action-release changes on your own repo.
49
-
50
-
- Get the sha for the latest commit on **Step 1**
51
-
- Modify your usage of action-release to point to that commit (if you're using a fork, edit the `getsentry` org in the string below)
# If you specify a GitHub environment for the branch from where you create
64
-
# releases from (e.g. master), you can then specify a repository-level variable
65
-
# for all other branches. This allows using a second project for end-to-end testing
66
-
SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT }}
67
-
```
68
-
69
-
> [!NOTE]
70
-
> If you want to locally test the action, read the next section, otherwise, keep reading.
71
-
72
-
> [!NOTE]
73
-
> Only remove `MOCK: true` once you follow the steps below that will allow you to use two different projects. This will avoid polluting your Sentry releases for your existing Sentry project.
74
-
75
-
**Step 3**
76
40
Create a new Sentry project under your existing Sentry org (only this one time).
77
41
78
-
**Step 4**
79
-
Create an environment variable in GitHub for the branch you release from (e.g. `master`) and define the same variable as a repository variable which all other branches will use (i.e. your PR's branch)
80
-
81
-
**Step 5**
82
-
Comment out the MOCK env variable from **Step 2**.
83
-
84
-
**Step 6**
85
-
Push to GitHub and the CI will do an end-to-end run!
86
-
87
-
### Local testing via act
88
-
89
-
Alternatively, you can test the action locally using [act](https://github.com/nektos/act).
90
-
91
-
To get started, you can clone [this sample repo](https://github.com/scefali/github-actions-react/blob/master/.github/workflows/deploy.yml) to test locally.
92
-
93
-
**Step 1**
94
-
Install `act`.
95
-
96
-
```bash
97
-
brew install act
98
-
```
99
-
100
-
> [!NOTE]
101
-
> Make sure you commit your changes in your branch before running `act`.
102
-
103
42
**Step 3**
104
-
Create an integration and set the SENTRY_AUTH_TOKEN (see [#Usage](../README.md#usage)).
105
-
106
-
> [!NOTE]
107
-
> If you have `direnv` installed, you can define the variable within your repo in an `.env` file.
43
+
Create an environment variable in GitHub for the branch you release from (e.g. `master`) and define the same variable as a repository variable which all other branches will use (i.e. your PR's branch)
The [build.yml](../.github/workflows/build.yml) workflow will build a Docker image every time a pull request merges to `master` and upload it to [the GitHub registry](https://github.com/orgs/getsentry/packages?repo_name=action-release).
4
-
5
-
> [!WARNING]
6
-
> Merging pull requests into `master` means changes are live for anyone who uses the action regardless of bumping the version.
7
-
> Be extremely careful and intentional with changes and ensure properly testing them before merging, see [#Testing](development.md#testing) for more info.
8
-
9
-
> [!NOTE]
10
-
> Unfortunately, we only use the `latest` tag for the Docker image, thus, making use of a version with the action ineffective (e.g. `v1` vs `v1.3.0`).
11
-
> See #129 on how to fix this.
12
-
13
-
> [!NOTE]
14
-
> At the moment our Docker image publishing is decoupled from `tag` creation in the repository.
15
-
> We should only publish a specific Docker tag when we create a tag (you can make GitHub workflows listen to this). See #102 for details.
16
-
> Once this is fixed, merges to `master` will not make the Docker image live.
17
-
18
-
When you are ready to make a release, open a [new release checklist issue](https://github.com/getsentry/action-release/issues/new?assignees=&labels=&template=release-checklist.md&title=New+release+checklist+for+%5Bversion+number%5D) and follow the steps in there.
19
-
20
-
> [!NOTE]
21
-
> At the moment releases are only used to inform users of changes.
22
-
23
-
The Docker build is [multi-staged](https://github.com/getsentry/action-release/blob/master/Dockerfile) in order to make the final image used by the action as small as possible to reduce network transfer (use `docker images` to see the sizes of the images).
1
+
# Publishing a Release
2
+
3
+
_These steps are only relevant to Sentry employees when preparing and publishing a new release._
4
+
5
+
1. Open the [Prepare Release workflow](https://github.com/getsentry/sentry-javascript/actions/workflows/release.yml) and
6
+
fill in 
7
+
1. Click gray `Run workflow` button
8
+
2. Fill in the version you want to release, e.g. `1.13.3`
9
+
3. Click the green `Run workflow` button
10
+
2. A new issue should appear in https://github.com/getsentry/publish/issues.
11
+
3. Wait until the CI check runs have finished successfully (there is a link to them in the issue).
12
+
4. Once CI passes successfully, ask a member of the
13
+
[@getsentry/releases-approvers](https://github.com/orgs/getsentry/teams/release-approvers) to approve the release.
0 commit comments