Files
jarca-ledger-mcp/.gitea/release.yaml
T

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