name: pytest on: # Allow to manually trigger the workflow workflow_dispatch: push: branches: - master pull_request: schedule: - cron: '0 8 * * *' jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.11", "3.10", "3.9"] env: PYTHONUNBUFFERED: 1 PYTHONWARNINGS: always steps: - uses: actions/checkout@v3 # https://github.com/marketplace/actions/checkout with: fetch-depth: 0 - name: 'fetch master and testing (for Darker/Black)' run: | git fetch origin master git fetch origin testing - name: 'Set up Python ${{ matrix.python-version }}' uses: actions/setup-python@v2 with: python-version: '${{ matrix.python-version }}' - uses: actions/cache@v3 # https://github.com/marketplace/actions/cache with: path: ~/.cache/ key: dot-cache-files - name: 'Install package' run: | pip3 install poetry make install - name: 'List installed packages' run: | poetry run pip freeze - name: 'Run tests with Python v${{ matrix.python-version }}' run: | make pytest - name: 'Run Safety check' run: | make safety - name: 'Upload coverage report' uses: codecov/codecov-action@v3 # https://github.com/marketplace/actions/codecov with: fail_ci_if_error: false verbose: true