name: pytest on: push: branches: - master pull_request: schedule: - cron: '0 8 * * *' jobs: test: runs-on: ubuntu-latest strategy: max-parallel: 2 matrix: python-version: ["3.11", "3.10", "3.9"] steps: - name: Checkout run: | echo $GITHUB_REF $GITHUB_SHA git clone --depth 1 https://github.com/$GITHUB_REPOSITORY.git . git fetch origin $GITHUB_SHA:temporary-ci-branch git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA) - name: 'Set up Python ${{ matrix.python-version }}' uses: actions/setup-python@v4 # https://github.com/marketplace/actions/setup-python with: python-version: '${{ matrix.python-version }}' cache: 'pip' # caching pip dependencies cache-dependency-path: '**/poetry.lock' - 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