Contributing¶
Dev Environment¶
Tools |
Description |
---|---|
Used to generate requirements.txt |
|
Used to run tests |
|
Used to generate test coverage reports |
|
Used for JSON logging |
|
Used for type checking |
|
Used for code formatting |
|
Used for testing in multiple python versions |
Optional Tools¶
Tools |
Description |
---|---|
Used to run the dev environment in a container |
Building enviornment¶
Python virtual environment¶
Clone the repo
git clone https://github.com/TheSchipper/hcp-vault-secrets-client.git
Create a python virtual environment
python3 -m venv venv
Activate the virtual environment
source venv/bin/activate
Generate the requirements file
pip-compile --output-file=requirements-dev.txt requirements-dev.in
Install the requirements
pip install -r requirements-dev.txt
Using docker¶
Clone the repo
git clone https://github.com/TheSchipper/hcp-vault-secrets-client.git
Build the docker image
docker build . -t hcp
Run the docker image
docker run -ti --rm hcp
Testing¶
Run tox
tox
Compiling Requirements¶
Requirements.in¶
Update the requirements.in file
pip-compile --extra=dev --generate-hashes --output-file=requirements-dev.in --strip-extras pyproject.toml
Requirements-dev.in¶
Update the requirements-dev.in file
pip-compile --extra=dev --generate-hashes --output-file=requirements.in --strip-extras pyproject.toml
Updating Package Version¶
Update the version in pyproject.toml
Update the version in docs/source/conf.py
Update the version in sonar-project.properties
Pre-commit Hooks¶
<Add info>
Creating a Pull Request¶
Add description about opening a PR. Add a template.
Opening an Issue¶
Add description about opening an issue. Add a template.
Workflow Actions¶
Add description about workflow actions. * CD * CI * Linter * pages * Sonarcloud * Sonarcloud_pr