-
Notifications
You must be signed in to change notification settings - Fork 95
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/master'
- Loading branch information
Showing
15 changed files
with
365 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
name: Python package | ||
|
||
on: | ||
push: | ||
branches: [master] | ||
|
||
pull_request: | ||
branches: [master] | ||
|
||
workflow_dispatch: | ||
|
||
jobs: | ||
build: | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
# note: 3.5 + 3.6 are EOL as of 2022-09-16. tests do fail on python3.5, | ||
# see https://github.com/HBehrens/puncover/issues/36 | ||
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] | ||
# it's convenient to stay on an older ubuntu as long as we need | ||
# python3.6: | ||
# https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json | ||
os: [ | ||
ubuntu-20.04, | ||
macos-12, | ||
# windows is disabled until path support works there | ||
# windows-2022, | ||
] | ||
fail-fast: false | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
# this is the latest version of pip that supports python 3.6 | ||
# install a specific version to hopefully avoid breakage | ||
pip install --upgrade pip==21.3.1 | ||
pip install -r requirements-test.txt | ||
- name: Run tox | ||
# use the version of python in PATH, from the github runner | ||
run: tox -e py | ||
|
||
- name: Build release archive | ||
# only upload coverage for the 3.10 run | ||
if: ${{ matrix.python-version == '3.10' }} | ||
run: | | ||
pip install wheel==0.37.1 | ||
python setup.py sdist bdist_wheel | ||
- name: Archive release | ||
if: ${{ matrix.python-version == '3.10' }} | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: release_dist | ||
path: dist | ||
|
||
- name: Upload coverage to Codecov | ||
# only upload coverage for the 3.10 run | ||
if: ${{ matrix.python-version == '3.10' }} | ||
uses: codecov/codecov-action@v3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,7 @@ | ||
**/.idea/ | ||
*.pyc | ||
/puncover.egg-info/ | ||
*.egg-info/ | ||
/build/ | ||
/dist/ | ||
/dist/ | ||
.tox | ||
.coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
3.6.15 | ||
3.7.15 | ||
3.8.15 | ||
3.9.15 | ||
3.10.8 | ||
3.11.0 |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
include requirements.txt | ||
include requirements-test.txt | ||
include puncover/static/**/* | ||
include puncover/templates/** | ||
include puncover/templates/** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,125 @@ | ||
.. image:: https://img.shields.io/travis/HBehrens/puncover.svg | ||
:target: https://travis-ci.org/HBehrens/puncover | ||
.. image:: https://img.shields.io/codecov/c/github/HBehrens/puncover.svg | ||
:target: https://codecov.io/gh/HBehrens/puncover | ||
|
||
.. image:: https://img.shields.io/badge/GitHub-HBehrens/puncover-8da0cb?style=flat-square&logo=github | ||
:alt: GitHub Link | ||
:target: https://github.com/HBehrens/puncover | ||
|
||
.. image:: https://img.shields.io/github/actions/workflow/status/HBehrens/puncover/ci.yml?style=flat-square&branch=master | ||
:alt: GitHub Workflow Status (branch) | ||
:target: https://github.com/HBehrens/puncover/actions?query=branch%3Amaster+ | ||
|
||
.. image:: https://img.shields.io/codecov/c/github/HBehrens/puncover/master?style=flat-square | ||
:alt: Codecov branch | ||
:target: https://codecov.io/gh/HBehrens/puncover | ||
|
||
.. image:: https://img.shields.io/pypi/v/puncover?style=flat-square | ||
:alt: PyPI | ||
:target: https://pypi.org/project/puncover | ||
|
||
.. image:: https://img.shields.io/pypi/pyversions/puncover?style=flat-square | ||
:alt: PyPI - Python Version | ||
:target: https://pypi.org/project/puncover | ||
|
||
.. image:: https://img.shields.io/github/license/HBehrens/puncover?color=blue&style=flat-square | ||
:alt: License - MIT | ||
:target: 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 dissambler and call-stack analysis per directory, file, or function. | ||
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: | ||
|
||
.. code-block:: bash | ||
pip install puncover | ||
Run it by passing the binary to analyze: | ||
|
||
.. code-block:: 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 | ||
|
||
.. code-block:: bash | ||
curl https://pyenv.run | bash | ||
2. install all the python environments, using this bashism (this can take a few | ||
minutes): | ||
|
||
.. code-block:: bash | ||
for _py in $(<.python-version ); do pyenv install ${_py}; done | ||
3. install the development dependencies: | ||
|
||
.. code-block:: bash | ||
pip install -r requirements-dev.txt | ||
Then you can run the tests with: | ||
|
||
.. code-block:: bash | ||
tox | ||
Publishing Release | ||
================== | ||
|
||
1. Update the version in ``puncover/__version__.py``. | ||
2. Commit the version update: | ||
.. code-block:: bash | ||
git add . && git commit -m "Bump version to x.y.z" | ||
|
||
|
||
3. Create an annotated tag: | ||
.. code-block:: bash | ||
git tag -a {-m=,}x.y.z | ||
|
||
4. Push the commit and tag: | ||
.. code-block:: 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: | ||
.. code-block:: 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 ``scripts/release.sh`` for a script that automates the above steps. | ||
|
||
Contributing | ||
============ | ||
|
||
Contributions are welcome! Please open an issue or pull request on GitHub. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.