chore(release): add repository release contract
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user