feat(enrich): measure html maintext parallel shadow branch #540
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.14" | |
| allow-prereleases: true | |
| - name: Install system dependencies (Pillow build) | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| pkg-config \ | |
| libjpeg-dev \ | |
| zlib1g-dev \ | |
| libpng-dev \ | |
| libtiff-dev \ | |
| libfreetype6-dev \ | |
| liblcms2-dev \ | |
| libwebp-dev \ | |
| libopenjp2-7-dev | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| - name: Install dependencies (frozen) | |
| run: uv sync --frozen --group dev | |
| - name: Lint | |
| run: uv run ruff check . | |
| - name: Test | |
| run: uv run coverage run -m pytest | |
| - name: Coverage JSON | |
| run: uv run coverage json -o coverage.json | |
| - name: Refactor audit | |
| run: uv run cremona scan --coverage-json coverage.json --fail-on-regression | |
| - name: Upload refactor audit report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: refactor-audit | |
| path: output/refactor-audit/ | |
| if-no-files-found: ignore | |
| docker-runtime: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build runtime image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| target: runtime | |
| load: true | |
| tags: recoleta:runtime-ci | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| - name: Smoke CLI entrypoint | |
| run: docker run --rm recoleta:runtime-ci --help | |
| - name: Smoke doctor entrypoint | |
| run: docker run --rm recoleta:runtime-ci doctor --help |