79 lines
1.9 KiB
Markdown
79 lines
1.9 KiB
Markdown
# Contributing
|
|
|
|
## How to Contribute
|
|
|
|
### Configuring python environment
|
|
|
|
The project development requires Python version 3.9+. To set it as default in the environment run the following commands:
|
|
|
|
```sh
|
|
# You may need to install python 3.9 venv if it's missing, on Ubuntu just run `sudo apt-get install python3.9-venv`
|
|
python3.9 -m venv env
|
|
source ./env/bin/activate
|
|
```
|
|
|
|
Install required dependencies:
|
|
|
|
```sh
|
|
python -m pip install --upgrade pip
|
|
pip install -r local-requirements.txt
|
|
```
|
|
|
|
Build and install drivers:
|
|
|
|
```sh
|
|
pip install -e .
|
|
python -m build --wheel
|
|
```
|
|
|
|
Run tests:
|
|
|
|
```sh
|
|
pytest --browser chromium
|
|
```
|
|
|
|
Checking for typing errors
|
|
|
|
```sh
|
|
mypy playwright
|
|
```
|
|
|
|
Format the code
|
|
|
|
```sh
|
|
pre-commit install
|
|
pre-commit run --all-files
|
|
```
|
|
|
|
For more details look at the [CI configuration](./.github/workflows/ci.yml).
|
|
|
|
Collect coverage
|
|
|
|
```sh
|
|
pytest --browser chromium --cov-report html --cov=playwright
|
|
open htmlcov/index.html
|
|
```
|
|
|
|
### Regenerating APIs
|
|
|
|
```bash
|
|
./scripts/update_api.sh
|
|
pre-commit run --all-files
|
|
```
|
|
|
|
## Contributor License Agreement
|
|
|
|
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
|
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
|
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
|
|
|
|
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
|
|
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
|
|
provided by the bot. You will only need to do this once across all repos using our CLA.
|
|
|
|
## Code of Conduct
|
|
|
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
|
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
|
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|