forked from eclipse-che/che
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Updating README.md and CONTRIBUTING.md for che 7 (eclipse-che#…
…13839) Updating README.md and CONTRIBUTING.md for che 7 Signed-off-by: Sun Tan <sutan@redhat.com>
- Loading branch information
Showing
3 changed files
with
176 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,118 @@ | ||
Filing Issues for Eclipse Che | ||
===================== | ||
|
||
Before Submitting an Issue | ||
-------------------------- | ||
Check that [our issue database](https://github.com/eclipse/che/issues) | ||
doesn't already include that problem or suggestion before submitting an issue. | ||
If you find a match, you can use the "subscribe" button to get notified on | ||
updates. You can leave a Thubms Up reaction to the original issue description to indicate that you have the same problem. Please Do not leave a "+1" or "I have this too" comment unless you are also adding material new information, as they | ||
clutter the discussion. | ||
|
||
Writing Good Bug Reports and Feature Requests | ||
--------------------------------------------- | ||
Please file a single issue per problem or feature request. Do not file issues that combine problems and feature requests. Please include all the environmental information and reproduction steps so that an engineer can reproduce it. | ||
|
||
The community wants to help you find a solution to your problem, but every problem is unique. In order for an engineer to help resolve your issue, they need to be able to reproduce it. Reproducing your specific error may require significant information about your system and environment. Help us in advance by providing a complete assessment of your system and the steps necessary to reproduce the issue. | ||
|
||
Therefore: | ||
* The details of your environment including OS version, container configuration, and the steps how you configure & run Che. | ||
* Provide reproducible steps, what the result of the steps was, and what you would have expected. | ||
* When providing reproduction steps, start with launching Che providing its configuration and every step taken to create the problem. | ||
* A detailed description of the behavior that you expect. | ||
* Animated GIFs are very helpful to show the problems for engineers. | ||
* If there are UI issues or errors, please run the steps with the browser dev console open and send those logs with your report. | ||
|
||
Contributing Improvements | ||
------------------------- | ||
If you are interested in fixing issues and contributing directly to the code base, [please see our wiki](https://github.com/eclipse/che/wiki/How-To-Contribute). | ||
|
||
# Contributing to Che | ||
|
||
- [Other Che repositories](#other-che-repositories) | ||
- [Devfile to contribute](#devfile-to-contribute) | ||
- [Contribute to ...](#contribute-to-...) | ||
- [Dashboard](#dashboard) | ||
- [Che Server a.k.a WS master](#che-server-a.k.a-ws-master) | ||
|
||
## Other Che repositories | ||
|
||
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-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/ | ||
- [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-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 | ||
``` | ||
or | ||
```bash | ||
$ 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: | ||
|
||
#### Devfile for dashboard development | ||
|
||
The devfile: [<this.repo>/dashboard/devfile.yaml](./dashboard/devfile.yaml) | ||
|
||
In this section, we show how to setup a Che 7 environment to work on the che dashboard, and how to use it. | ||
For the whole workflows, we will need a workspace with such containers: | ||
|
||
- Dashboard Dev container (a.k.a dash-dev): Dashdev is a all in one container for running commands such as build, test or start the dashboard server. | ||
|
||
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. | ||
2. Build | ||
3. Code ... | ||
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`: | ||
|
||
``` | ||
chectl workspace:start -f https://raw.githubusercontent.com/eclipse/che/master/dashboard/devfile.yaml | ||
``` | ||
At workspace start, Che will clone Che source code (including the dashboard) | ||
|
||
|
||
|
||
#### Step 2: Build | ||
|
||
In this section we are going to build the dashboard project. | ||
|
||
You can use the che command `dashboard_build` (command pallette > Run task > … or containers view) | ||
Basically, this command will run | ||
|
||
```bash | ||
# [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) | ||
Basically, this command will run | ||
|
||
```bash | ||
# [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> | ||
``` | ||
|
||
|
||
### Che server a.k.a WS master | ||
To be provided soon. |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.