Skip to content

Commit

Permalink
Add tests & coverage badges (#176)
Browse files Browse the repository at this point in the history
* add coverage to ci & badge to readme

* fix poetry prefix

* fix working dir

* Update coverage badge

* restrict badge commit to one run

* create a separate job for badge

* move env to top

---------

Co-authored-by: github-actions <[email protected]>
  • Loading branch information
Byczong and actions-user authored Dec 4, 2023
1 parent 8c48fc2 commit 4cba800
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 17 deletions.
55 changes: 50 additions & 5 deletions .github/workflows/ci_api.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
name: Tests

on:
push:
branches: [main]
pull_request:
branches: [main]

env:
PROVIDER_URI_MAINNET: ${{ secrets.PROVIDER_URI_MAINNET }}
PROVIDER_URI_GOERLI: ${{ secrets.PROVIDER_URI_GOERLI }}
PROVIDER_URI_SEPOLIA: ${{ secrets.PROVIDER_URI_SEPOLIA }}


jobs:
test:
runs-on: ${{ matrix.os }}
Expand All @@ -13,11 +21,6 @@ jobs:
os: [ubuntu-latest]
python-version: [3.9, 3.11]

env:
PROVIDER_URI_MAINNET: ${{ secrets.PROVIDER_URI_MAINNET }}
PROVIDER_URI_GOERLI: ${{ secrets.PROVIDER_URI_GOERLI }}
PROVIDER_URI_SEPOLIA: ${{ secrets.PROVIDER_URI_SEPOLIA }}

steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -51,3 +54,45 @@ jobs:
- name: Run tests
working-directory: ./api
run: MONKEYPATCH=0 poetry run pytest -vv --durations=0

add_badge:
runs-on: ubuntu-latest
needs: test
permissions:
contents: write

if: github.ref == 'refs/heads/main' # run this job only on a push to main

steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}

- name: Install poetry
run: pipx install poetry

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
cache: "poetry"

- name: Install dependencies
working-directory: ./api
run: poetry install

- name: Run tests mocked
working-directory: ./api
run: poetry run pytest -vv --durations=0 --cov-report term-missing --cov=./

- name: Generate coverage badge
working-directory: ./api
run: poetry run coverage-badge -fo ../coverage_badge.svg

- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
author_name: github-actions
author_email: [email protected]
message: 'Update coverage badge'
add: 'coverage_badge.svg'
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# NameHash NameGuard

![Tests](https://github.com/namehash/nameguard/actions/workflows/ci_api.yml/badge.svg?branch=main)
![Coverage](https://raw.githubusercontent.com/namehash/nameguard/main/coverage_badge.svg)

The NameHash team is proud to present NameGuard, a tool for identifying and preventing malicious use of ENS names.

- Offers multiple levels of protection
Expand Down
28 changes: 16 additions & 12 deletions api/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions api/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ uvicorn = {extras = ["standard"], version = "^0.23.2"}
pytest-asyncio = "^0.21.1"
pytest-cov = "^4.1.0"
pytest-retry = "^1.5.0"
coverage-badge = "^1.1.0"


[build-system]
Expand Down
21 changes: 21 additions & 0 deletions coverage_badge.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4cba800

Please sign in to comment.