Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert rst to markdown #90

Merged
merged 1 commit into from
Oct 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
116 changes: 116 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
[![GitHub Link](https://img.shields.io/badge/GitHub-HBehrens/puncover-8da0cb?style=flat-square&logo=github)](https://github.com/HBehrens/puncover)

[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/HBehrens/puncover/ci.yml?style=flat-square&branch=master)](https://github.com/HBehrens/puncover/actions?query=branch%3Amaster+)

[![Codecov branch](https://img.shields.io/codecov/c/github/HBehrens/puncover/master?style=flat-square)](https://codecov.io/gh/HBehrens/puncover)

[![PyPI](https://img.shields.io/pypi/v/puncover?style=flat-square)](https://pypi.org/project/puncover)

[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/puncover?style=flat-square)](https://pypi.org/project/puncover)

[![License - MIT](https://img.shields.io/github/license/HBehrens/puncover?color=blue&style=flat-square)](https://github.com/HBehrens/puncover)

# puncover

![image](https://raw.githubusercontent.com/HBehrens/puncover/master/images/overview.png)

Analyzes C/C++ binaries for code size, static variables and stack usages. It
creates a report with disassembler and call-stack analysis per directory, file,
or function.

# Installation and Usage

Install with pip:

```bash
pip install puncover
```

Run it by passing the binary to analyze:

```bash
puncover --elf_file project.elf
...
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
```

Open the link in your browser to view the analysis.

# Running Tests Locally

To run the tests locally, you need to install the development dependencies:

1. install pyenv: <https://github.com/pyenv/pyenv>

```bash
curl https://pyenv.run | bash
```

2. install all the python environments, using this bashism (this can take a few
minutes):

```bash
for _py in $(<.python-version ); do pyenv install ${_py}; done
```

3. install the development dependencies:

```bash
pip install -r requirements-dev.txt
```

Then you can run the tests with:

```bash
tox
```

# Publishing Release

1. Update the version in `puncover/__version__.py`.

2. Commit the version update:

```bash
git add . && git commit -m "Bump version to x.y.z"
```

3. Create an annotated tag:

```bash
git tag -a {-m=,}x.y.z
```

4. Push the commit and tag:

```bash
git push && git push --tags
```

5. Either wait for the GitHub Action to complete and download the release
artifact for uploading: <https://github.com/HBehrens/puncover/actions> OR
Build the package locally: `python setup.py sdist bdist_wheel`

6. Upload the package to PyPI:

```bash
twine upload dist/*
```

7. Create GitHub releases:

- `gh release create --generate-notes x.y.z`
- attach the artifacts to the release too: `gh release upload x.y.z dist/*`

## Release Script

See `release.sh` for a script that automates the above steps. This example will
work with the PyPi tokens (now required):

```bash
PUNCOVER_VERSION=0.3.5 TWINE_PASSWORD="<pypi token>" TWINE_USERNAME=__token__ ./release.sh
```

# Contributing

Contributions are welcome! Please open an issue or pull request on GitHub.
135 changes: 0 additions & 135 deletions README.rst

This file was deleted.

2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[metadata]
description-file = README.rst
description-file = README.md
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def run(self):
name="puncover",
version=__version__,
description="Analyses C/C++ build output for code size, static variables, and stack usage.",
long_description=open("README.rst").read(),
long_description=open("README.md").read(),
long_description_content_type="text/x-rst",
url="https://github.com/hbehrens/puncover",
download_url="https://github.com/hbehrens/puncover/tarball/%s" % __version__,
Expand Down