Skip to content

Add workflow for performing tests on pushes and PRs #17

Add workflow for performing tests on pushes and PRs

Add workflow for performing tests on pushes and PRs #17

Workflow file for this run

name: Tests
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
inputs:
source-ref:
description: Source code branch/ref name
default: main
required: true
type: string
env:
SOURCE_REF: ${{ inputs.source-ref || github.ref }}
WORKING_DIRECTORY: ./pg_backup_api
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v3
with:
ref: ${{ env.SOURCE_REF }}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install tox
run:
pip install tox
- name: Run linter
working-directory: ${{ env.WORKING_DIRECTORY }}
run:
tox -e lint
dependency_checking:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v3
with:
ref: ${{ env.SOURCE_REF }}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install tox
run:
pip install tox
- name: Run dependency checker
working-directory: ${{ env.WORKING_DIRECTORY }}
run:
tox -e dep
unit_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- '3.11'
steps:
- name: Checkout the source code
uses: actions/checkout@v3
with:
ref: ${{ env.SOURCE_REF }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
run:
pip install tox
- name: Run unit tests
working-directory: ${{ env.WORKING_DIRECTORY }}
run:
tox -m test
static_type_checking:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- '3.11'
steps:
- name: Checkout the source code
uses: actions/checkout@v3
with:
ref: ${{ env.SOURCE_REF }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
run:
pip install tox
- name: Run static type checks
working-directory: ${{ env.WORKING_DIRECTORY }}
run:
tox -m type