From adb1a4353be15713ec689387cad5bce7daa870aa Mon Sep 17 00:00:00 2001 From: coder0xe <3577669408@qq.com> Date: Tue, 22 Apr 2025 00:00:40 +0800 Subject: [PATCH 1/3] [chore]:set up workflow --- .github/workflows/check.yml | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/check.yml diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..1ca1b4b --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,52 @@ +name: Check FastAPI Backend + +on: + pull_request: + branches: + - dev + +jobs: + test: + name: Run Tests and Check FastAPI + runs-on: ubuntu-latest + + services: + postgres: + image: postgres:13 + env: + POSTGRES_USER: test_user + POSTGRES_PASSWORD: test_password + POSTGRES_DB: test_db + ports: + - 5432:5432 + options: >- + --health-cmd="pg_isready -U test_user" + --health-interval=10s + --health-timeout=5s + --health-retries=5 + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Run Tests + env: + DATABASE_URL: postgresql://test_user:test_password@localhost:5432/test_db + run: | + pytest + + - name: Check FastAPI Server + run: | + uvicorn app.main:app --host 0.0.0.0 --port 8000 --log-level warning & + sleep 5 + curl -f http://localhost:8000/docs \ No newline at end of file From 1231e43555fcfefae9fe0bcaea430756ad2edc97 Mon Sep 17 00:00:00 2001 From: coder0xe <3577669408@qq.com> Date: Tue, 22 Apr 2025 00:06:50 +0800 Subject: [PATCH 2/3] [fix]:fix workflow, there are no tests --- .github/workflows/check.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 1ca1b4b..88393ea 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -39,12 +39,6 @@ jobs: python -m pip install --upgrade pip pip install -r requirements.txt - - name: Run Tests - env: - DATABASE_URL: postgresql://test_user:test_password@localhost:5432/test_db - run: | - pytest - - name: Check FastAPI Server run: | uvicorn app.main:app --host 0.0.0.0 --port 8000 --log-level warning & From f457ce87ecafad223dbb69fd6eab0eb9e299fcf2 Mon Sep 17 00:00:00 2001 From: coder0xe <3577669408@qq.com> Date: Tue, 22 Apr 2025 01:04:07 +0800 Subject: [PATCH 3/3] [fix]:set up redis in workflow, fix requirements.txt, fuck that --- .github/workflows/check.yml | 13 +++++++++++++ requirements.txt | Bin 3286 -> 1684 bytes 2 files changed, 13 insertions(+) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 88393ea..1876023 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -25,6 +25,16 @@ jobs: --health-timeout=5s --health-retries=5 + redis: + image: redis:7 + ports: + - 6379:6379 + options: >- + --health-cmd="redis-cli ping" + --health-interval=10s + --health-timeout=5s + --health-retries=5 + steps: - name: Checkout code uses: actions/checkout@v3 @@ -40,6 +50,9 @@ jobs: pip install -r requirements.txt - name: Check FastAPI Server + env: + REDIS_HOST: localhost + REDIS_PORT: 6379 run: | uvicorn app.main:app --host 0.0.0.0 --port 8000 --log-level warning & sleep 5 diff --git a/requirements.txt b/requirements.txt index 71a248266ac7989632e6b4b5bd6e4871c85c233a..138127c7de3555aedeb41b2bca9f8b4d03bbf208 100644 GIT binary patch literal 1684 zcmah~O=}x55WNTTQ&xCC>?DUhghCIcfwU=eiwaJ#wiX1%UB}GOL43*_6hIG)ZUA z22k*nkDOJ{0v4x($Eaeb9 zt+u%&wBOeDwa@YLrmOVmP>erOojY-NePxu+T(!NU=Vp@DJ)eM8*R&ndf`XmQMMiXn zx}cwGUqVfkd+S*&KJ7#gYIe3t%8KlQFC_#AjRvvi&^{UCodL%^2teUO+wyZXijPua zHARa?K@SDq>AYhZt@gl-m$+*uxi=&@3UlfgTZm@r563TWr~zrHhLh*z*#)WVIbga; z!-}og5V`Jsa^#7gJ|5(eS?r0V2bqp@e3CoZl&HtKH{~s)BS4X!6qu(7rHC&i4$*kY zM!12=>bE*I3QQ!sZ9X)C6SzYNPA_ode<#hsNbO8!F8_I48e@H)C&I&~jZz&+nLRKu zgeWy01_f@&<%Ft+>i^mq2fda&cVLw6Rrd2UtCTvtaITF-);3^OreDB zyc@@j=$Wm!$n06*f#i&fayCYifuvc97;*szh({V2hS-7BxM=AMO+6qZ`)B02`U4PI z+Q;SF?_Zb3p!DPNusr?v&JaoY%4!2o8%#1(?#LZnmhkh0G&(5A2{+a{G--&{X`$%n z&6kkb32fHO>uGky0zK@;o2=eGqZBO%Ab(u`+&=))rW)uc#z}vj&$xjOSh8d=z2rci z#X ziJW-FRhJ<<7ALAXN>2R1v`AN8H4KdX$IBCI9hn-~IvPbk2E;5=UQeFQJH*NLSAusk c0O$p zSsLnWCEv;0LJz)o@{Y%8@pymJ?i6(?omG}Mk~isI@6)2OlkL8E>Qb8~`u>-)?21P+ zc*tHIeZEzmcXY`I{V#R5vI$>Q)<}yi zmhyAVS=t^PXW56Pop8bTCav|^s}f=zgm+}!Wc_*ewo)#~qP@u)Q^lF)tiWql@>~5S+so%woqx)VT`2a@-e~rU+?KsZC2#bYd%bGd$`ZdY4!@Q> z%J1udZAi=&BuB}Z>W})qR>Y_kjBLNtzh~tPpI-}7_@GmvaZzkoi*@kJ8SnK!T!oWS z^F!HHR2}k_*gDCbVj~}=z0~h7C&5!+d*~S+`}n^$6ETY2*9uMccjYBK3-;8=Y$}+* zz*BCxmF)5&!cnAU^3YkyK-{;GZ^7tYB zntr(<>7G>SqclFIpVAKnhv9Z2pExrnIWzWx&s9$=@w^>swZWUQEzIzyqLy(z!x-c9 zA$0%C=T@2Y87X7xy<{HI%c0G+)E}q1I|w?zrFZGER8NQN?)X`qfG2HwuSi$Df~&qe z*gweoTtqrPFOmH&TPE?W2Mu?~@AUH|TsE37cJ4&)v7OO%F7{b<=?YR~GnBIH*oW}8 zo=Ok54msnKb_A7mLa%N;yoH=BPC1u0NAjkoYtCXb>SR4RPGT-MF3!z*Ltq-h(zh^t zciNfW*kJLHJ)4K`loz)tZUZ$xu$bR6~6L{;-2MIelX! JD{e-S*T0?$*u?+<