1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-24 03:54:20 +00:00
royalnet/.github/workflows/tests.yml

90 lines
2.1 KiB
YAML
Raw Normal View History

name: "Test suite"
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
workflow_call:
defaults:
run:
shell: bash
jobs:
pytest:
name: "🧪 Test package using pytest"
runs-on: ubuntu-latest
# If you need a database to perform your tests
# services:
# postgres:
# image: postgres
# env:
# POSTGRES_USER: username
# POSTGRES_PASSWORD: password
# POSTGRES_DB: db
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# ports:
# - "5432:5432"
steps:
- name: "⬇️ Checkout repository"
uses: actions/checkout@v3
- name: "🔨 Setup Python"
uses: actions/setup-python@v3
- name: "🔨 Setup Poetry"
uses: abatilo/actions-poetry@v2.1.4
- name: "🔨 Setup Poetry Python environment"
id: pyenv
uses: Steffo99/actions-poetry-deps@v0.2.4
- name: "🧪 Run tests"
run: |
source ${{ steps.pyenv.outputs.pyenv }}/activate
pytest --verbose --cov=. --cov-report=html
- name: "⬆️ Upload coverage"
uses: actions/upload-artifact@v3
with:
name: "Coverage"
path: htmlcov
# If you do not want to use unit testing
# syntax:
# name: "🧪 Check the package's syntax"
# runs-on: ubuntu-latest
#
# steps:
# - name: "⬇️ Checkout repository"
# uses: actions/checkout@v3
#
# - name: "🔨 Setup Python"
# uses: actions/setup-python@v3
# with:
# python-version: '3.8'
#
# - name: "🔨 Setup Poetry"
# uses: abatilo/actions-poetry@v2.1.4
#
# - name: "🔨 Setup Poetry Python environment"
# id: pyenv
# uses: Steffo99/actions-poetry-deps@v0.2.4
#
# - name: "🧪 Run check"
# run: |
# source ${{ steps.pyenv.outputs.pyenv }}/activate
# python -m compileall thorunimore