From aa165b8d94a5f5884d45f896137fd7b90bd390ae Mon Sep 17 00:00:00 2001 From: Untone Date: Mon, 5 Feb 2024 16:16:54 +0300 Subject: [PATCH] ci-fix-4 --- .gitea/workflows/main.yml | 61 ++++++++++++++++++++++++++++++--------- pyproject.toml | 1 + 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index 07ac5a3..de3f088 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -5,21 +5,54 @@ jobs: test: runs-on: ubuntu-latest steps: + #---------------------------------------------- + # check-out repo and set-up python + #---------------------------------------------- + - name: Check out repository + uses: actions/checkout@v4 + - name: Set up python + id: setup-python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + #---------------------------------------------- + # ----- install & configure poetry ----- + #---------------------------------------------- + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + virtualenvs-create: true + virtualenvs-in-project: true + installer-parallel: true - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - - - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - python3 -m pip install poetry - poetry install - - - name: Run tests - run: poetry run pytest + #---------------------------------------------- + # load cached venv if cache exists + #---------------------------------------------- + - name: Load cached venv + id: cached-poetry-dependencies + uses: actions/cache@v3 + with: + path: .venv + key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} + #---------------------------------------------- + # install dependencies if cache does not exist + #---------------------------------------------- + - name: Install dependencies + if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' + run: poetry install --no-interaction --no-root + #---------------------------------------------- + # install your root project, if required + #---------------------------------------------- + - name: Install project + run: poetry install --no-interaction + #---------------------------------------------- + # run test suite + #---------------------------------------------- + - name: Run tests + run: | + source .venv/bin/activate + pytest tests/ + coverage report deploy: runs-on: ubuntu-latest diff --git a/pyproject.toml b/pyproject.toml index 933e354..4d00e8d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ isort = "^5.13.2" pyright = "^1.1.341" pre-commit = "^3.6.0" pytest-asyncio = "^0.23.4" +pytest-cov = "^4.1.0" [tool.black] line-length = 120