Giter VIP home page Giter VIP logo

browser-extension's Introduction

Gitpod Browser extension

Setup Automated

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:

Gitpodify

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. ๐Ÿคฏ

Open in Gitpod

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:

  1. Rename gitpod.xpi to gitpod.zip
  2. Unzip gitpod.zip
  3. Open Chrome
  4. Click Settings -> Extensions -> Load unpacked
  5. Select the unzipped folder

For Firefox

  1. Open Firefox
  2. Go to about:debugging#/runtime/this-firefox
  3. Click Load Temporary Add-on -> Select the gitpod.xpi file

For Safari (Experimental ๐Ÿงช)

  1. Open Gitpod/Gitpod.xcodeproj
  2. 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:

  1. Bump up the version value inside manifest.json

  2. Push your changes to master

  3. Create a tag vX.Y.Z

  4. Compose a list of changes using the list of commits that were pushed since last version

  5. Create a new release, listing changes:

    ### Changes
    
    - Change/Fix A
    - Change/Fix B
    - Change/Fix C
    
    ### Credits
    
    Thanks to @{EXTERNAL_CONTRIBUTOR_USERNAME} for helping! ๐ŸŠ
  6. Start a new workspace using Gitpod

  7. Download gitpod.xpi which is just been generated in your workspace

For Firefox:

  1. Login to addons.mozilla.org with user [email protected]
  2. Click on "See all versions"
  3. Click on "Upload New Version"
  4. Upload the gitpod.xpi file
  5. Select only "Firefox" (leave empty "Firefox for Android")
  6. Answer "No" at the question โ€œDo you use any of the following in your extension?โ€
  7. Click "Continue"
  8. Click "Submit Version"
  9. Wait a few hours for the review to happen!

For Chrome:

  1. Using your Google account, open the gitpod-browser-extension Google Group
  2. If you don't have access, reach out for help in Slack
  3. Once you are in the Google Group, make sure to "Switch to Gitpod" in the top navbar
  4. Rename gitpod.xpi to gitpod.zip
  5. Click "Upload new package"
  6. Upload the zip file and submit
  7. 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

Confirm Safari

Hit enter when presented with this screen.

Xcode will open the Gitpod.xcodeproj automatically if it's installed.

browser-extension's People

Contributors

alexwyler avatar allmight2099 avatar andreafalzetti avatar axonasif avatar camji55 avatar chrifro avatar corneliusludmann avatar davidxia avatar dependabot[bot] avatar felladrin avatar filiptronicek avatar geropl avatar ghuntley avatar gtsiolis avatar jakobhero avatar jankeromnes avatar jbicker avatar kunalchhabra37 avatar mustard-mh avatar ramank775 avatar samuelpath avatar siddhant-k-code avatar sunny0826 avatar svenefftinge avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.