Skip to content
This repository was archived by the owner on Jan 23, 2024. It is now read-only.

Commit e21c333

Browse files
authored
docs: Add instructions for development (#61)
* docs: Add instructions for development * clarify that build & release is for project owners
1 parent 2db6e86 commit e21c333

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,3 +300,52 @@ environment variable.
300300
It expects a boolean value (`True`/`False`) or a string, with `'True'`
301301
interpreted as `True` and any other string interpreted as `False`). If not
302302
provided, the breakpoint canarying will not be enabled.
303+
304+
## Development
305+
306+
The following instructions are intended to help with modifying the codebase.
307+
308+
### Testing
309+
310+
#### Unit tests
311+
312+
Run the `build_and_test.sh` script from the root of the repository to build and
313+
run the unit tests using the locally installed version of Python.
314+
315+
#### Local development
316+
317+
You may want to run an agent with local changes in an application in order to
318+
validate functionality in a way that unit tests don't fully cover. To do this,
319+
you will need to build the agent:
320+
```
321+
cd src
322+
./build.sh
323+
cd ..
324+
```
325+
326+
The built agent will be available in the `src/dist` directory. You can now
327+
force the installation of the agent using:
328+
```
329+
pip3 install src/dist/* --force-reinstall
330+
```
331+
332+
You can now run your test application using the development build of the agent
333+
in whatever way you desire.
334+
335+
It is recommended that you do this within a
336+
[virtual environment](https://docs.python.org/3/library/venv.html).
337+
338+
### Build & Release (for project owners)
339+
340+
Before performing a release, be sure to update the version number in
341+
`src/googleclouddebugger/version.py`. Tag the commit that increments the
342+
version number (eg. `v3.1`) and create a Github release.
343+
344+
Run the `build-dist.sh` script from the root of the repository to build,
345+
test, and generate the distribution whls. You may need to use `sudo`
346+
depending on your system's docker setup.
347+
348+
Build artifacts will be placed in `/dist` and can be pushed to pypi by running:
349+
```
350+
twine upload dist/*.whl
351+
```

0 commit comments

Comments
 (0)