103 lines
3.0 KiB
YAML
103 lines
3.0 KiB
YAML
schema: gitea-agent/release/v1
|
|
|
|
version:
|
|
sources:
|
|
- path: pyproject.toml
|
|
format: toml
|
|
selector: project.version
|
|
- path: jarca_ledger_mcp/__init__.py
|
|
format: python-assignment
|
|
selector: __version__
|
|
lockfiles:
|
|
- path: uv.lock
|
|
package: jarca-ledger-mcp
|
|
tag_template: "v{version}"
|
|
|
|
prepare:
|
|
runtime:
|
|
python: "3.12"
|
|
commands:
|
|
- name: sync
|
|
argv: [uv, sync, --python, "3.12", --frozen, --extra, dev, --extra, dashboard]
|
|
- name: lint
|
|
argv: [uv, run, ruff, check, .]
|
|
- name: test
|
|
argv: [uv, run, pytest]
|
|
- name: dashboard-http-smoke
|
|
argv: [uv, run, python, scripts/ci_dashboard_http_smoke.py, --host, 127.0.0.1, --port, "18501", --timeout, "45"]
|
|
- name: db-safety-smoke
|
|
argv: [uv, run, python, scripts/ci_db_safety_smoke.py, --timeout, "45"]
|
|
|
|
artifacts:
|
|
- type: container
|
|
name: jarca-ledger-mcp
|
|
platform: linux/arm64
|
|
|
|
build:
|
|
adapter: docker-buildx
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
pull: true
|
|
local_tag_template: "jarca-ledger-mcp:release-{commit}"
|
|
labels:
|
|
org.opencontainers.image.source: "https://gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp"
|
|
org.opencontainers.image.revision: "{commit}"
|
|
org.opencontainers.image.version: "{version}"
|
|
|
|
smoke:
|
|
- type: image-platform
|
|
expected_os: linux
|
|
expected_architecture: arm64
|
|
- type: container-command
|
|
environment:
|
|
JARCA_LEDGER_DB_PATH: /data/ledger.sqlite3
|
|
argv:
|
|
- python
|
|
- -c
|
|
- >-
|
|
import os, pathlib, platform; from jarca_ledger_mcp import service;
|
|
assert os.getuid() == 1000, os.getuid();
|
|
assert os.getgid() == 1000, os.getgid();
|
|
probe = pathlib.Path("/data/.write-probe");
|
|
probe.write_text("ok"); probe.unlink();
|
|
result = service.health_check();
|
|
assert platform.machine() == "aarch64";
|
|
assert pathlib.Path("/data/ledger.sqlite3").is_file();
|
|
assert result["success"], result
|
|
- type: container-health
|
|
name_template: "jarca-mcp-{run_id}"
|
|
command: default
|
|
expected: healthy
|
|
timeout_seconds: 90
|
|
- type: container-http
|
|
name_template: "jarca-dashboard-{run_id}"
|
|
command:
|
|
- uvicorn
|
|
- dashboard.server:app
|
|
- --host
|
|
- 0.0.0.0
|
|
- --port
|
|
- "8501"
|
|
- --proxy-headers
|
|
container_port: 8501
|
|
path: /_stcore/health
|
|
expected_status: 200
|
|
expected_body: ok
|
|
timeout_seconds: 90
|
|
|
|
publish:
|
|
adapter: gitea-container-registry
|
|
registry: gitea.jsfamily.quest
|
|
repository: jsfamily/jarca-ledger-mcp
|
|
credentials:
|
|
username: authenticated-gitea-login
|
|
token_env: GITEA_TOKEN
|
|
tags:
|
|
- "{tag}"
|
|
- "sha-{commit}"
|
|
overwrite: false
|
|
verify:
|
|
- digest
|
|
- platform
|
|
- org.opencontainers.image.revision
|