48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
---
 | 
						|
name: Python Unittests
 | 
						|
 | 
						|
on:
 | 
						|
  pull_request:
 | 
						|
    branches:
 | 
						|
      - develop
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - develop
 | 
						|
      - main
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
jobs:
 | 
						|
  unittest:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        python-version: ['3.8', '3.9', '3.10']
 | 
						|
    steps:
 | 
						|
      - name: Checkout code
 | 
						|
        uses: actions/checkout@v2
 | 
						|
      - name: Set up Python
 | 
						|
        uses: actions/setup-python@v2
 | 
						|
        with:
 | 
						|
          python-version: ${{ matrix.python-version }}
 | 
						|
      - name: Setup config
 | 
						|
        run: cp config/.env.example config/.env.local
 | 
						|
      - name: Install Poetry
 | 
						|
        uses: snok/install-poetry@v1
 | 
						|
        with:
 | 
						|
          virtualenvs-create: true
 | 
						|
          virtualenvs-in-project: true
 | 
						|
          installer-parallel: true
 | 
						|
      - name: Load cached venv
 | 
						|
        id: cached-poetry-dependencies
 | 
						|
        uses: actions/cache@v2
 | 
						|
        with:
 | 
						|
          path: .venv
 | 
						|
          key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
 | 
						|
      - name: Install dependencies
 | 
						|
        if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
 | 
						|
        run: poetry install --no-interaction --no-root
 | 
						|
      - name: Install library
 | 
						|
        run: poetry install --no-interaction
 | 
						|
      - name: Run Tests
 | 
						|
        run: poetry run python -m unittest discover -s tests
 |