Skip to content

Commit

Permalink
Improved contribution docs for building locally (#79)
Browse files Browse the repository at this point in the history
* Modified the desktop app building docs with more info and some fixes. Fixed the docs for webpage contributing guide.

* Update www.md

fixed a typo
  • Loading branch information
RayZ3R0 authored Oct 29, 2024
1 parent 5157abc commit 5e02a4b
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 23 deletions.
56 changes: 40 additions & 16 deletions content/contribute/desktop.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Before you begin, ensure you have the following tools installed:
- [**Git**](https://git-scm.com/): Version control system to clone the repository and manage your code.
- [**Node.js**](https://nodejs.org/): Required for building the browser.
- [**npm**](https://www.npmjs.com/): Node package manager, which comes with Node.js.
- [**MozillaBuild**](https://wiki.mozilla.org/MozillaBuild): Meta-installer required to build the browser.
- [**MozillaBuild**](https://wiki.mozilla.org/MozillaBuild): Meta-installer required to build the browser.
- [**Mercurial/TortoiseHg**](https://www.mercurial-scm.org/downloads): Required by Mozilla scripts, with its install directory added to PATH.
- [**Python**](https://www.python.org/): Required by build scripts, with its install directory added to PATH.

Expand All @@ -22,8 +22,9 @@ Before you begin, ensure you have the following tools installed:
Clone the project

```bash
git clone https://github.com/zen-browser/desktop.git --recurse-submodules
git clone --depth 1 https://github.com/zen-browser/desktop.git
cd desktop
git submodule update --init --recursive --depth 1
```

Install dependencies
Expand All @@ -34,43 +35,66 @@ npm i

Download and bootstrap the browser

```
```bash
npm run init
```

Copy a language pack
Run bootstrap to identify and fix potential errors

```bash
npm run bootstrap
```

Copy a language pack
```bash
sh scripts/update-en-US-packs.sh
```

Start building the browser

```
```bash
npm run build
```

Finally, run the browser!

```
```bash
npm start
```

### Limiting CPU Usage During Build

On Linux, you can use cpulimit to restrict CPU usage of intensive build processes:

```bash
# Limit by process name
cpulimit -e rustc -l 50 # Limits rustc to 50% CPU
cpulimit -e clang -l 50 # Limits clang to 50% CPU

# Or limit by PID
cpulimit -p PID -l 50
```

On Windows, use Process Lasso or Process Hacker to set CPU affinity and priority:
1. Open Process Lasso/Process Hacker
2. Find rustc.exe or clang.exe processes
3. Right click -> Set CPU Affinity/Priority


## Making a Contribution

#### 1. Fork the Repository

#### 2. Create a New Branch
It’s a good practice to create a new branch for each feature or bug fix.

```bash
git checkout -b feature/your-feature-name
```

#### 3. Make Your Changes
Edit the code in your local repository.
- Ensure that your changes do not break existing functionality.
- Ensure that your changes do not break existing functionality.
- Write tests if applicable.

You can test your changes by
Expand All @@ -79,32 +103,32 @@ You can test your changes by

#### 4. Commit Your Changes
Commit your changes with a descriptive message.

```bash
git commit -m "Add feature: your feature description"
```

#### 5. Push Your Changes
Push your branch to your forked repository.

```bash
git push origin feature/your-feature-name
```

#### 6. Submit a Pull Request
Go to the original Zen Browser repository and submit a pull request from your forked repository.

- Provide a clear title and description of your changes.
- Reference any relevant issues in the pull request.

## Additional Resources

- [Zen Browser Repository](https://github.com/zen-browser/desktop)
- [[CONTRIBUTING| Contribution Guidelines]]
- [[CODE_OF_CONDUCT | Code of Conduct]]
- [[CODE_OF_CONDUCT | Code of Conduct]]
- [Searchfox](https://searchfox.org/) a source code indexing tool for Mozilla Firefox
- [MDN Web Docs](https://developer.mozilla.org/) a documentation repository and learning resource for web developers

---

Thank you for contributing to Zen Browser! Your contributions are valuable and help make the project better for everyone.
Thank you for contributing to Zen Browser! Your contributions are valuable and help make the project better for everyone.
24 changes: 17 additions & 7 deletions content/contribute/www.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,27 @@ npm install

This command installs all the necessary packages listed in the `package.json` file.

## Step 4: Start the Development Server
## Step 4: Build the Project

To build the project files:

```bash
npm run build
```

This command will compile and process all the source files into a production-ready format.

## Step 5: Start the Development Server

After installing the dependencies, you can start the development server:

```bash
npm start
npm run dev
```

This command will start a local server and open the homepage in your default web browser. The server will automatically reload whenever you make changes to the code.

## Step 5: Make Your Changes
## Step 6: Make Your Changes

You can now start making changes to the homepage. The project structure is as follows:

Expand All @@ -61,11 +71,11 @@ You can now start making changes to the homepage. The project structure is as fo

Feel free to explore and modify the files to implement new features or fix bugs.

## Step 6: Test Your Changes
## Step 7: Test Your Changes

Before submitting your changes, make sure they work as expected. Check the functionality across different pages and ensure that your changes do not introduce any new issues.

## Step 7: Commit and Push Your Changes
## Step 8: Commit and Push Your Changes

Once you are satisfied with your changes, commit them to your local repository:

Expand All @@ -80,7 +90,7 @@ Push your changes to your forked repository:
git push origin main
```

## Step 8: Create a Pull Request
## Step 9: Create a Pull Request

After pushing your changes, go to the original Zen Browser Homepage Repository and submit a pull request:

Expand All @@ -101,4 +111,4 @@ Your pull request will be reviewed by the maintainers, and you may be asked to m

---

Thank you for contributing to Zen Browser's homepage! Your contributions help make the project better for everyone.
Thank you for contributing to Zen Browser's homepage! Your contributions help make the project better for everyone.

0 comments on commit 5e02a4b

Please sign in to comment.