chore(release): add repository release contract

This commit is contained in:
2026-09-30 12:59:22 +09:00
parent ef431aebe2
commit 406be02b1b
+100
View File
@@ -0,0 +1,100 @@
schema: gitea-agent/release/v1
version:
sources:
- path: pyproject.toml
format: toml
selector: project.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/genichin/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: /tmp/ledger.sqlite3
argv:
- python
- -c
- >-
import platform; from jarca_ledger_mcp import service;
result = service.health_check();
assert platform.machine() == "aarch64";
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:
- python
- -m
- streamlit
- run
- dashboard/app.py
- --server.address
- 0.0.0.0
- --server.port
- "8501"
- --server.headless
- "true"
- --browser.gatherUsageStats
- "false"
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: genichin/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