From 42f8714d71f8c5327048b0a255037bb4170b88bc Mon Sep 17 00:00:00 2001 From: zwitschi Date: Thu, 6 Nov 2025 11:44:35 +0100 Subject: [PATCH] feat: add CI workflow configuration for testing and building --- .gitea/workflows/cicache.yml | 87 ++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .gitea/workflows/cicache.yml diff --git a/.gitea/workflows/cicache.yml b/.gitea/workflows/cicache.yml new file mode 100644 index 0000000..56e4858 --- /dev/null +++ b/.gitea/workflows/cicache.yml @@ -0,0 +1,87 @@ +name: CI + +on: + push: + branches: [main, develop] + pull_request: + branches: [main, develop] + +jobs: + test: + env: + APT_CACHER_NG: http://192.168.88.14:3142 + DB_DRIVER: postgresql+psycopg2 + DB_HOST: 192.168.88.35 + DB_NAME: calminer_test + DB_USER: calminer + DB_PASSWORD: calminer_password + runs-on: ubuntu-latest + + services: + postgres: + image: postgres:17 + env: + POSTGRES_USER: ${{ env.DB_USER }} + POSTGRES_PASSWORD: ${{ env.DB_PASSWORD }} + POSTGRES_DB: ${{ env.DB_NAME }} + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Get pip cache dir + id: pip-cache + run: | + echo "path=$(pip cache dir)" >> $GITEA_OUTPUT + + - name: Cache pip dependencies + uses: actions/cache@v4 + with: + path: ${{ steps.pip-cache.outputs.path }} + key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt', 'requirements-test.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Update apt-cacher-ng config + run: |- + echo 'Acquire::http::Proxy "{{ env.APT_CACHER_NG }}";' | tee /etc/apt/apt.conf.d/01apt-cacher-ng + apt-get update + + - name: Update system packages + run: apt-get upgrade -y + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install -r requirements-test.txt + + - name: Install Playwright system dependencies + run: playwright install-deps + + - name: Install Playwright browsers + run: playwright install + + - name: Run tests + env: + DATABASE_DRIVER: ${{ env.DB_DRIVER }} + DATABASE_HOST: postgres + DATABASE_PORT: 5432 + DATABASE_USER: ${{ env.DB_USER }} + DATABASE_PASSWORD: ${{ env.DB_PASSWORD }} + DATABASE_NAME: ${{ env.DB_NAME }} + run: | + pytest tests/ --cov=. + + - name: Build Docker image + run: | + docker build -t calminer .