schema_registry: standalone module for SR with basic dependency injection #4435
This file contains 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: Test Suite | |
on: | |
pull_request: | |
types: [ opened, synchronize, reopened ] | |
push: | |
branches: [ main ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref }} | |
cancel-in-progress: true | |
env: | |
FORCE_COLOR: 1 | |
PIP_PROGRESS_BAR: off | |
PYTHONUNBUFFERED: 1 | |
jobs: | |
tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [ '3.9', '3.10', '3.11', '3.12' ] | |
env: | |
PYTEST_ADDOPTS: >- | |
--log-dir=/tmp/ci-logs | |
--log-file=/tmp/ci-logs/pytest.log | |
--showlocals | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
cache: pip | |
python-version: ${{ matrix.python-version }} | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21.0' | |
- run: make install-dev | |
- run: make unit-tests | |
env: | |
COVERAGE_FILE: ".coverage.${{ matrix.python-version }}" | |
PYTEST_ARGS: "--cov=karapace --cov-append --numprocesses 4" | |
- run: make integration-tests | |
env: | |
COVERAGE_FILE: ".coverage.${{ matrix.python-version }}" | |
PYTEST_ARGS: "--cov=karapace --cov-append --random-order --numprocesses 4" | |
- name: Archive logs | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
name: karapace-integration-test-logs-${{ matrix.python-version }} | |
path: /tmp/ci-logs | |
- name: Archive coverage file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "coverage-${{ matrix.python-version }}" | |
path: ".coverage.${{ matrix.python-version }}" | |
include-hidden-files: true | |
coverage: | |
name: Coverage report | |
runs-on: ubuntu-latest | |
needs: tests | |
permissions: | |
pull-requests: write | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- run: make install-dev | |
- name: Download coverage | |
id: download_coverage | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: coverage-* | |
merge-multiple: true | |
- name: Post coverage comment | |
id: post_coverage_comment | |
uses: py-cov-action/python-coverage-comment-action@v3 | |
with: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
MERGE_COVERAGE_FILES: true | |
- name: Store PR comment to be posted | |
uses: actions/upload-artifact@v4 | |
if: steps.post_coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' | |
with: | |
name: python-coverage-comment-action | |
path: python-coverage-comment-action.txt |