Skip to content

Commit

Permalink
fix lint errors
Browse files Browse the repository at this point in the history
Signed-off-by: Oleksii Orel <[email protected]>
  • Loading branch information
olexii4 committed Aug 14, 2019
1 parent 6d2e887 commit 39cd749
Showing 1 changed file with 29 additions and 13 deletions.
42 changes: 29 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,45 @@
Che is composed of multiple sub projects. For each projects we provide a *CONTRIBUTE.md* file describing how to setup the development environment to start your contribution. Most of the time, we encourage you to use Che to contribute to Che.

- [eclipse/che](https://github.com/eclipse/che) (this repository) is the main project repository that contains:
- Che master: orchestrates the che workspaces with devfiles on Kubernetes
- Che dashboard: UI to manage workspaces, devfiles, etc.
- Che main container images: source code, dockerfiles to build our main docker images. Note that Che-theia related dockerfiles are located in che-theia repo.
- End2end test: source code of our integration tests.
- Che master: orchestrates the che workspaces with devfiles on Kubernetes
- Che dashboard: UI to manage workspaces, devfiles, etc.
- Che main container images: source code, dockerfiles to build our main docker images. Note that Che-theia related dockerfiles are located in che-theia repo.
- End2end test: source code of our integration tests.
- [che-theia](https://github.com/eclipse/che-theia): Theia IDE integrated in Che.
- [chectl](https://github.com/che-incubator/chectl): The CLI to install Che, create and start workspaces and devfiles
- [che-plugin-registry](https://github.com/eclipse/che-plugin-registry): The default set of che plugins (vscode extension + containers) or editors that could be installed on any Che workspaces.
- [che-devfile-registry](https://github.com/eclipse/che-devfile-registry): The default set of devfiles that would be made available on the Che dashboard stacks.
- [redhat-developer/devfile](https://github.com/redhat-developer/devfile): Contribute to the devfile documentation: https://redhat-developer.github.io/devfile/
- [redhat-developer/devfile](https://github.com/redhat-developer/devfile): Contribute to the devfile documentation: `https://redhat-developer.github.io/devfile/`
- [che-plugin-broker](https://github.com/eclipse/che-plugin-broker): The workspace microservice that is in charge of analyzing, preparing and installing the workspace components defined in a Devfile.
- [che-operator](https://github.com/eclipse/che-operator): Che operator to deploy, update and manage K8S/OpenShift resources of Che.
- [che-docs](https://github.com/eclipse/che-docs): Eclipse Che documentation https://www.eclipse.org/che/docs/ source code.
- [che-website](https://github.com/eclipse/che-website): https://eclipse.org/che website source code.
- [che-docs](https://github.com/eclipse/che-docs): Eclipse Che documentation `https://www.eclipse.org/che/docs/` source code.
- [che-website](https://github.com/eclipse/che-website): `https://eclipse.org/che` website source code.
- [che-workspace-client](https://github.com/eclipse/che-workspace-client): JS library to interact with a che-server.
- [che-machine-exec](https://github.com/eclipse/che-machine-exec): Interface to execute tasks and terminals on other containers within a workspace.

## Devfile to contribute

We are trying to provide a devfile for each areas where you could contribute. Each devfile could be run on any Che instances to setup a *ready-to-code* developer environment. Beware that each of them may need a certain amount of memory.
Devfile could be launched through a factory or [chectl](https://github.com/che-incubator/chectl) cli.

```bash
$ chectl workspace:start -f devfiles/che-theia-all.devfile.yaml
chectl workspace:start -f devfiles/che-theia-all.devfile.yaml
```

or

```bash
$ chectl workspace:start -f https://raw.githubusercontent.com/eclipse/che-theia/master/devfiles/che-theia-all.devfile.yaml
chectl workspace:start -f https://raw.githubusercontent.com/eclipse/che-theia/master/devfiles/che-theia-all.devfile.yaml
```

or `https://<CheInstance>/f?url=https://raw.githubusercontent.com/eclipse/che-theia/master/devfiles/che-theia-all.devfile.yaml`

## Contribute to ...

Let's cover the developer flow for theses projects:

### Dashboard

Dashboard source code is located in [<this.repo>/dashboard](./dashboard/) folder.
It is an AngularJS application. Here is the developer workflow if you want to contribute to it:

Expand All @@ -67,13 +73,13 @@ Developer workflow:
4. Run unit test
5. Start dashboard server and preview


#### Step 1: Start the workspace with the devfile, it is cloning Che repo.

In this section we are going to start a new workspace to work on che-theia. The new workspace will have few projects cloned: `theia` and `che-theia`. It will also setup the containers and commands in the `My workspace` view. We will use these commands in the next steps.

The devfile could be started using `chectl`:

```
```bash
chectl workspace:start -f https://raw.githubusercontent.com/eclipse/che/master/dashboard/devfile.yaml
```

Expand All @@ -90,9 +96,11 @@ Basically, this command will run
# [dash-dev]
$ yarn
```

#### Step 3: Code ...

#### Step 4: Run unit test (optional)

In this step, we will run the Dashboard unit tests:

You can use the che command `dashboard_test` (command pallette > Run task > … or containers view)
Expand All @@ -102,16 +110,20 @@ Basically, this command will run
# [dash-dev]
$ yarn test
```

#### Step 5: Start dashboard server and preview

In this step, we will run the dashboard server and see the live reloadable preview.

You can use the che command `dashboard_dev_server` (command pallette > Run task > … or containers view)

```bash
# [dashboard_dev_server]
$ node_modules/.bin/gulp serve --server=<che_api_url>
```

### Workspace Loader

Workspace loader source code is located in [<this.repo>/workspace-loader](./workspace-loader/) folder.
Here is the developer workflow if you want to contribute to it:

Expand All @@ -128,14 +140,15 @@ All containers have `/projects` folder mounted, which is shared among them.

Developer workflow:

1. Start the workspace with the devfile, it is cloning Che repo.
1. Start the workspace with the workspace-loader devfile
2. Install dependencies
3. Build
4. Code ...
5. Run unit test
6. Start workspace loader server and preview

#### Step 1: Start the workspace with the devfile, it is cloning Che repo.
#### Step 1: Start the workspace with the workspace-loader devfile

In this section we are going to start a new workspace to work on workspace loader. The new workspace will clone the `che` project. It will also setup the containers and commands in the `My workspace` view. We will use these commands in the next steps.

The workspace could be created and started from a devfile using `chectl`:
Expand Down Expand Up @@ -175,6 +188,7 @@ $ yarn build
#### Step 4: Code ...

#### Step 5: Run unit test (optional)

In this step, we will run the Workspace Lloader unit tests:

You can use the che command `[workspace loader] run tests` (command pallette > Run task > … or containers view)
Expand All @@ -186,6 +200,7 @@ $ yarn test
```

#### Step 6: Start workspace loader server and preview

In this step, we will run the workspace loader server and see the live reloadable preview.

You can use the che command `[workspace loader] start dev server` (command pallette > Run task > … or containers view)
Expand All @@ -196,4 +211,5 @@ $ yarn start --disable-host-check --public=$(echo ${server.dev-server} | sed -e
```

### Che server a.k.a WS master

To be provided soon.

0 comments on commit 39cd749

Please sign in to comment.