Gitpod Browser extension
This is the browser extension for Gitpod. It supports Chrome (see Chrome Web Store), Firefox (see Firefox Add-ons) and Edge (see how to install Chrome extensions), and adds a Gitpod button to the configured GitLab, GitHub and Bitbucket installations (defaults to gitlab.com
, github.com
, bitbucket.org
, and gitlab.cn
) which immediately creates a Gitpod workspace for the current Git context:
Contributing
Contributions to this project are welcome!
Issues
We are currently tracking all issues related to the browser extension in the gitpod-io/gitpod
repository.
You can use the component: browser-extension
label to search for relevant issues including feature proposals and bug reports.
Development
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. ๐คฏ
Build
The build happens automatically when you start a workspace but if you want to build explicitly, use these commands:
yarn install
yarn build
yarn package
Testing
You can test the extension without publishing to the store. Before uploading the bundle to the browser, make sure to build the code, then follow these steps:
For Chrome:
- Rename
gitpod.xpi
togitpod.zip
- Unzip
gitpod.zip
- Open Chrome
- Click Settings -> Extensions -> Load unpacked
- Select the unzipped folder
For Firefox
- Open Firefox
- Go to
about:debugging#/runtime/this-firefox
- Click Load Temporary Add-on -> Select the
gitpod.xpi
file
For Safari (Experimental
- Open
Gitpod/Gitpod.xcodeproj
- Run the project with
cmd
+r
.โ ๏ธ Safari must have Allow Unsigned Extensions enabled.
Release
We currently publish the extension for Chrome and Firefox.
To release a new version, follow these steps:
-
Bump up the version value inside
manifest.json
-
Push your changes to
master
-
Create a tag
vX.Y.Z
-
Compose a list of changes using the list of commits that were pushed since last version
-
Create a new release, listing changes:
### Changes - Change/Fix A - Change/Fix B - Change/Fix C ### Credits Thanks to @{EXTERNAL_CONTRIBUTOR_USERNAME} for helping! ๐
-
Start a new workspace using Gitpod
-
Download
gitpod.xpi
which is just been generated in your workspace
For Firefox:
- Login to addons.mozilla.org with user
[email protected]
- Click on "See all versions"
- Click on "Upload New Version"
- Upload the
gitpod.xpi
file - Select only "Firefox" (leave empty "Firefox for Android")
- Answer "No" at the question โDo you use any of the following in your extension?โ
- Click "Continue"
- Click "Submit Version"
- Wait a few hours for the review to happen!
For Chrome:
- Using your Google account, open the
gitpod-browser-extension Google Group
- If you don't have access, reach out for help in Slack
- Once you are in the Google Group, make sure to "Switch to Gitpod" in the top navbar
- Rename
gitpod.xpi
togitpod.zip
- Click "Upload new package"
- Upload the zip file and submit
- Wait a few hours for the review to happen!
Safari
โ ๏ธ A machine running macOS and Xcode 12+ installed is required!
First, run the following to install dependencies and build the web extension:
yarn install && yarn build && yarn package
Then run the build:safari
command to build the Safari extension around the web extension:
yarn build:safari
Hit enter
when presented with this screen.
Xcode
will open the Gitpod.xcodeproj
automatically if it's installed.