Skip to content

Commit 9b93aea

Browse files
docs: add release and contributing guidelines (#62)
1 parent dd386d9 commit 9b93aea

File tree

1 file changed

+95
-23
lines changed

1 file changed

+95
-23
lines changed

README.md

+95-23
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,105 @@ This is the browser extension for Gitpod. It supports Chrome (see [Chrome Web St
55

66
![Gitpodify](./docs/github-injected.png "Gitpodify")
77

8-
## Build
98

10-
### Chrome & Firefox
9+
## Contributing
10+
11+
Contributions to this project are welcome!
12+
13+
### Issues
14+
15+
We are currently tracking all issues related to the browser extension in the [`gitpod-io/gitpod`](https://github.com/gitpod-io/gitpod) repository.
16+
You can use the [`component: browser-extension`](https://github.com/gitpod-io/gitpod/issues?q=is%3Aissue+is%3Aopen+extension+label%3A%22component%3A+browser-extension%22) label to search for relevant issues including feature proposals and bug reports.
17+
18+
### Development
19+
20+
To make changes and test them, the easiest way is using Gitpod itself. The `.gitpod.yml` configuration for this project installs Google Chrome and runs a VNC server to allow users to see the Desktop of the Docker container. When a workspace starts, Google Chrome is started with the Gitpod extension automatically built from source and pre-installed, therefore you can preview your changes in the ephemeral Chrome browser. 🤯
21+
22+
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](gitpod.io/#https://github.com/gitpod-io/browser-extension)
23+
24+
#### Build
25+
26+
The build happens automatically when you start a workspace but if you want to build explicitly, use these commands:
1127

1228
```
13-
yarn install && yarn build && yarn package
29+
yarn install
30+
yarn build
31+
yarn package
1432
```
1533

34+
### Testing
35+
36+
You can test the extension without publishing to the store. Before uploading the bundle to the browser, make sure to [build](#build) the code, then follow these steps:
37+
38+
For Chrome:
39+
40+
1. Rename `gitpod.xpi` to `gitpod.zip`
41+
1. Unzip `gitpod.zip`
42+
1. Open Chrome
43+
1. Click Settings -> Extensions -> Load unpacked
44+
1. Select the unzipped folder
45+
46+
For Firefox
47+
48+
1. Open Firefox
49+
1. Click Preferences -> Extensions & Themes
50+
1. Click on the cog icon -> Install Add-on From File -> Select the `gitpod.xpi` file
51+
52+
For Safari (Experimental 🧪)
53+
54+
1. Open `Gitpod/Gitpod.xcodeproj`
55+
1. Run the project with `cmd` + `r`. ⚠️ _Safari must have [**Allow Unsigned Extensions**](https://developer.apple.com/documentation/safariservices/safari_app_extensions/building_a_safari_app_extension) enabled._
56+
57+
## Release
58+
59+
We currently publish the extension for **Chrome** and **Firefox**.
60+
61+
To release a new version, follow these steps:
62+
63+
1. Bump up the version value inside `manifest.json`
64+
1. Push your changes to `master`
65+
1. Create a tag `vX.Y.Z`
66+
1. Compose a list of changes using the list of commits that were pushed since last version
67+
1. [Create a new release](https://github.com/gitpod-io/browser-extension/releases/new), listing changes:
68+
69+
```yaml
70+
### Changes
71+
72+
- Change/Fix A
73+
- Change/Fix B
74+
- Change/Fix C
75+
76+
### Credits
77+
78+
Thanks to @{EXTERNAL_CONTRIBUTOR_USERNAME} for helping! 🍊
79+
```
80+
81+
1. Start a new workspace using Gitpod
82+
1. Download `gitpod.xpi` which is just been generated in your workspace
83+
84+
For Firefox:
85+
86+
1. Login to [addons.mozilla.org](https://addons.mozilla.org/) with user `[email protected]`
87+
1. Click on "See all versions"
88+
1. Click on "Upload New Version"
89+
1. Upload the `gitpod.xpi` file
90+
1. Select only "Firefox" (leave empty "Firefox for Android")
91+
1. Answer "No" at the question “Do you use any of the following in your extension?”
92+
1. Click "Continue"
93+
1. Click "Submit Version"
94+
1. Wait a few hours for the review to happen!
95+
96+
For Chrome:
97+
98+
1. Using your Google account, open the [`gitpod-browser-extension Google Group`](https://groups.google.com/g/gitpod-browser-extension)
99+
1. If you don't have access, reach out for [help in Slack](https://gitpod.slack.com/archives/C020VCB0U5A)
100+
1. Once you are in the Google Group, make sure to "Switch to Gitpod" in the top navbar
101+
1. Rename `gitpod.xpi` to `gitpod.zip`
102+
1. Click "Upload new package"
103+
1. Upload the zip file and submit
104+
1. Wait a few hours for the review to happen!
105+
106+
16107
### Safari
17108

18109
#### ⚠️ A machine running macOS and [Xcode 12+](https://developer.apple.com/xcode/) installed is required!
@@ -33,23 +124,4 @@ yarn build:safari
33124

34125
Hit `enter` when presented with this screen.
35126

36-
`Xcode` will open the `Gitpod.xcodeproj` automatically if it's installed.
37-
38-
## Test
39-
40-
[Build](#build) the extension and
41-
* unzip `gitpod.xpi` and load it as [“unpackaged extension” (Chrome)](https://developer.chrome.com/extensions/getstarted) or
42-
* load `gitpod.xpi` as [“temporary add-on” (Firefox)](https://blog.mozilla.org/addons/2015/12/23/loading-temporary-add-ons/) or
43-
* open `Gitpod/Gitpod.xcodeproj` and run the project with `cmd` + `r`. ⚠️ _Safari must have [**Allow Unsigned Extensions**](https://developer.apple.com/documentation/safariservices/safari_app_extensions/building_a_safari_app_extension) enabled._
44-
45-
The extension is active until the next restart of your browser.
46-
47-
## Publishing
48-
49-
- **Chrome:** Users that are member of the Google group [`gitpod-browser-extension`](https://groups.google.com/g/gitpod-browser-extension) are allowed to update new versions in the [Chrome Webstore Developer Dashboard](https://chrome.google.com/webstore/devconsole/11ad35cc-5b54-416a-a789-f091e1007648).
50-
- **Firefox:** Login at https://addons.mozilla.org/ with user `[email protected]`.
51-
52-
## Issues
53-
54-
We are currently tracking all issues related to the browser extension in the [`gitpod-io/gitpod`](https://github.com/gitpod-io/gitpod) repository.
55-
You can use the [`component: browser-extension`](https://github.com/gitpod-io/gitpod/issues?q=is%3Aissue+is%3Aopen+extension+label%3A%22component%3A+browser-extension%22) label to search for relevant issues including feature proposals and bug reports.
127+
`Xcode` will open the `Gitpod.xcodeproj` automatically if it's installed.

0 commit comments

Comments
 (0)