From 2bda4e311d21fc91d3a24a99aa776a7d8a718496 Mon Sep 17 00:00:00 2001 From: migatu Date: Sat, 18 Jul 2026 14:02:37 +0200 Subject: [PATCH] =?UTF-8?q?CI:=20uruchamianie=20test=C3=B3w=20przy=20ka?= =?UTF-8?q?=C5=BCdym=20pushu=20(GitHub=20Actions)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit .github/workflows/tests.yml: - job "Testy warstwy logicznej": Python 3.12 (jak w obrazach Dockera), instalacja requirements-dev, pytest na services/logic/tests. Cache pip oraz cache jądra efemeryd JPL (de421.bsp ~17 MB), by nie pobierać go co run. - job "Kontrola składni": compileall na wszystkich warstwach (bez instalowania zależności, w tym AGPL-owego silnika swisseph). - Triggery: każdy push (dowolna gałąź) + pull requesty do master. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/tests.yml | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..0592701 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,51 @@ +name: Testy + +# Odpala się przy każdym pushu (dowolna gałąź) oraz dla pull requestów do master. +on: + push: + pull_request: + branches: [master] + +jobs: + logic-tests: + name: Testy warstwy logicznej (silnik) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Python 3.12 (jak w obrazach Dockera) + uses: actions/setup-python@v5 + with: + python-version: "3.12" + cache: pip + cache-dependency-path: services/logic/requirements-dev.txt + + # Jądro efemeryd JPL (de421.bsp, ~17 MB) pobiera Skyfield przy pierwszym + # użyciu. Cache'ujemy je, żeby nie ściągać przy każdym uruchomieniu. + - name: Cache jądra efemeryd + uses: actions/cache@v4 + with: + path: services/logic/.ephemeris + key: ephemeris-de421 + + - name: Instalacja zależności + run: pip install -r services/logic/requirements-dev.txt + + - name: Testy (pytest) + working-directory: services/logic + env: + PYTHONPATH: . + run: pytest tests -q + + compile-all: + name: Kontrola składni wszystkich warstw + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + # Sam kompilator — bez instalowania zależności warstw (w tym AGPL-owego + # silnika swisseph, który nie wchodzi do produktu). + - name: py_compile + run: python -m compileall -q services