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: 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: ${ { env.DB_HOST } } 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 .