|
@ -7,9 +7,47 @@ on: |
|
|
workflow_dispatch: |
|
|
workflow_dispatch: |
|
|
|
|
|
|
|
|
jobs: |
|
|
jobs: |
|
|
build-and-test: |
|
|
check-and-test: |
|
|
runs-on: ubuntu-latest |
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
env: |
|
|
|
|
|
UV_FROZEN: 1 |
|
|
|
|
|
steps: |
|
|
|
|
|
- name: Checkout |
|
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
with: |
|
|
|
|
|
submodules: true |
|
|
|
|
|
|
|
|
|
|
|
- name: Set up Python |
|
|
|
|
|
uses: actions/setup-python@v5 |
|
|
|
|
|
with: |
|
|
|
|
|
python-version: "3.12" |
|
|
|
|
|
|
|
|
|
|
|
- name: Set up latest uv |
|
|
|
|
|
uses: astral-sh/setup-uv@v6 |
|
|
|
|
|
with: |
|
|
|
|
|
version: "latest" |
|
|
|
|
|
|
|
|
|
|
|
- name: Set up project environment |
|
|
|
|
|
run: | |
|
|
|
|
|
uv sync |
|
|
|
|
|
uv pip install --no-deps -e . |
|
|
|
|
|
|
|
|
|
|
|
- name: Run ruff linter |
|
|
|
|
|
run: uv run ruff check |
|
|
|
|
|
|
|
|
|
|
|
- name: Run black formatter |
|
|
|
|
|
run: uv run black --check . |
|
|
|
|
|
|
|
|
|
|
|
- name: Run pyright static analysis |
|
|
|
|
|
run: uv run pyright |
|
|
|
|
|
|
|
|
|
|
|
- name: Run coverage test |
|
|
|
|
|
run: | |
|
|
|
|
|
uv run coverage run -m pytest |
|
|
|
|
|
uv run coverage report |
|
|
|
|
|
|
|
|
|
|
|
build-images: |
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
steps: |
|
|
steps: |
|
|
- name: Checkout |
|
|
- name: Checkout |
|
|
uses: actions/checkout@v4 |
|
|
uses: actions/checkout@v4 |
|
@ -22,7 +60,7 @@ jobs: |
|
|
- name: Set up Docker Buildx |
|
|
- name: Set up Docker Buildx |
|
|
uses: docker/setup-buildx-action@v3 |
|
|
uses: docker/setup-buildx-action@v3 |
|
|
|
|
|
|
|
|
- name: Build and Test |
|
|
- name: Build multi-arch images |
|
|
uses: docker/build-push-action@v6 |
|
|
uses: docker/build-push-action@v6 |
|
|
with: |
|
|
with: |
|
|
context: . |
|
|
context: . |
|
|