From bb2a4c340a17859fbe3c6e719da4c42a0205ce40 Mon Sep 17 00:00:00 2001 From: Guilherme Branco Stracini Date: Fri, 7 Mar 2025 11:06:50 +0000 Subject: [PATCH 1/7] Create build.yml --- .github/workflows/build.yml | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..14a82ae --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,43 @@ +name: Build + +on: + push: + branches: [main] + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-tests: + name: Build and Test + runs-on: ubuntu-latest + outputs: + semVer: ${{ steps.gitversion.outputs.semVer }} + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.18" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Run linting + run: | + pip install flake8 + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + + - name: Run tests + run: | + pip install pytest + pytest + From 85e1ecefa5946d3e4dd029544b6705547abc5880 Mon Sep 17 00:00:00 2001 From: Guilherme Branco Stracini Date: Fri, 7 Mar 2025 11:07:40 +0000 Subject: [PATCH 2/7] Update build.yml --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 14a82ae..4097d51 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,8 +1,7 @@ name: Build on: - push: - branches: [main] + pull_request: workflow_dispatch: concurrency: From f39a444647f15c4f32c4b48003542a2658bc7e50 Mon Sep 17 00:00:00 2001 From: Guilherme Branco Stracini Date: Fri, 7 Mar 2025 11:09:47 +0000 Subject: [PATCH 3/7] Create test_api.py --- test_api.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 test_api.py diff --git a/test_api.py b/test_api.py new file mode 100644 index 0000000..423b513 --- /dev/null +++ b/test_api.py @@ -0,0 +1,17 @@ +import pytest +from app import app + +@pytest.fixture +def client(): + with app.test_client() as client: + yield client + +def test_svg_response(client): + response = client.get("/svg") + + assert response.status_code == 200 + + assert response.content_type == "image/svg+xml" + + assert b"" in response.data From 9c563ecda1368b5f9ac46851404e66c964da06e6 Mon Sep 17 00:00:00 2001 From: Guilherme Branco Stracini Date: Fri, 7 Mar 2025 11:10:00 +0000 Subject: [PATCH 4/7] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4097d51..8183062 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,5 +38,5 @@ jobs: - name: Run tests run: | pip install pytest - pytest + pytest test_api.py From 20248456e493ce59250ae060225b6dea5dce7fb8 Mon Sep 17 00:00:00 2001 From: Guilherme Branco Stracini Date: Fri, 7 Mar 2025 11:13:33 +0000 Subject: [PATCH 5/7] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8183062..90c97b5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,7 +23,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.18" + python-version: "3.11" - name: Install dependencies run: | From 3ddcb53fcd366950e70e23e42d1f4f757e825aac Mon Sep 17 00:00:00 2001 From: Guilherme Branco Stracini Date: Fri, 7 Mar 2025 11:15:57 +0000 Subject: [PATCH 6/7] Update test_api.py --- test_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_api.py b/test_api.py index 423b513..acb064f 100644 --- a/test_api.py +++ b/test_api.py @@ -7,7 +7,7 @@ def client(): yield client def test_svg_response(client): - response = client.get("/svg") + response = client.get("/28/") assert response.status_code == 200 From 589794657471b260c02fe0ae50b3e835ddd62c3a Mon Sep 17 00:00:00 2001 From: Guilherme Branco Stracini Date: Fri, 7 Mar 2025 11:18:10 +0000 Subject: [PATCH 7/7] Update build.yml --- .github/workflows/build.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 90c97b5..be5b565 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,6 +24,14 @@ jobs: uses: actions/setup-python@v5 with: python-version: "3.11" + + - name: Cache pip dependencies + uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- - name: Install dependencies run: |