From 286fbb4b8824507cd97fb107467e5e8c276d3d62 Mon Sep 17 00:00:00 2001 From: jasquat Date: Wed, 11 Oct 2023 15:20:21 -0400 Subject: [PATCH] attempting to use better caching for poetry in ci w/ burnettk --- .github/workflows/tests.yml | 98 +++++++++++++++---- .../integration/blueprint_test.py | 2 +- 2 files changed, 78 insertions(+), 22 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6b02d24..6f6eed5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,38 +2,94 @@ name: Tests on: [push] -jobs: - build: +# jobs: +# build: +# +# runs-on: ubuntu-latest +# strategy: +# matrix: +# python-version: ["3.10", "3.11"] +# steps: +# - uses: actions/checkout@v3 +# - name: Set up Python ${{ matrix.python-version }} +# uses: actions/setup-python@v4 +# with: +# python-version: ${{ matrix.python-version }} +# - name: cache poetry install +# uses: actions/cache@v2 +# with: +# path: ~/.local +# key: poetry-1.6.1 +# - uses: snok/install-poetry@v1 +# with: +# version: 1.6.1 +# virtualenvs-create: true +# virtualenvs-in-project: true +# installer-parallel: true +# - name: cache deps +# id: cache-deps +# uses: actions/cache@v2 +# with: +# path: .venv +# key: pydeps-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }} +# - run: poetry install --no-interaction --no-root +# if: steps.cache-deps.outputs.cache-hit != 'true' +# - run: poetry install --no-interaction +# - run: poetry run mypy . +# - run: poetry run ruff . +# - run: poetry run pytest +# +# name: test +# +# on: pull_request +jobs: + linting: runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + - uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip + restore-keys: ${{ runner.os }}-pip + - run: python -m pip install ruff + - run: | + ruff . + test: + needs: linting strategy: + fail-fast: true matrix: - python-version: ["3.10", "3.11"] + python-version: [ "3.10", "3.11" ] + runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} + - name: Check out repository + uses: actions/checkout@v3 + - name: Set up python ${{ matrix.python-version }} + id: setup-python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - name: cache poetry install - uses: actions/cache@v2 - with: - path: ~/.local - key: poetry-1.6.1 - - uses: snok/install-poetry@v1 + - name: Install Poetry + uses: snok/install-poetry@v1 with: version: 1.6.1 virtualenvs-create: true virtualenvs-in-project: true - - name: cache deps - id: cache-deps - uses: actions/cache@v2 + - name: Load cached venv + id: cached-poetry-dependencies + uses: actions/cache@v3 with: path: .venv - key: pydeps-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }} - - run: poetry install --no-interaction --no-root - if: steps.cache-deps.outputs.cache-hit != 'true' - - run: poetry install --no-interaction - - run: poetry run mypy . - - run: poetry run ruff . - - run: poetry run pytest + 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: | + source .venv/bin/activate + pytest tests/ diff --git a/tests/spiffworkflow_proxy/integration/blueprint_test.py b/tests/spiffworkflow_proxy/integration/blueprint_test.py index 386ea74..8d74450 100644 --- a/tests/spiffworkflow_proxy/integration/blueprint_test.py +++ b/tests/spiffworkflow_proxy/integration/blueprint_test.py @@ -1,7 +1,7 @@ import json from flask import Flask -from flask import FlaskClient +from flask.testing import FlaskClient from spiffworkflow_proxy.blueprint import proxy_blueprint