A-SW Hub / Repositories
Local Gitea · READ ONLY
← 저장소 Repositories
REPOSITORY

via/asw-service-platform Private

[참조 MVP] A-SW 공유·협업 서비스 플랫폼 — 컴포넌트 릴리스의 제출·검증·승인·공개 생명주기를 집행하는 플랫폼 코어입니다.

https://git.agrithing.ai/via/asw-service-platform.git
7 commits
COMMIT DETAIL

ci: verify contract tests and evidence package

A-SW Reference Factory <[email protected]> · 2026. 8. 2. 오전 7:38:07
edea9142c25d96bd53668b5ed753698c40776dae
2 changed files +47 −0 parent 72991ee
added .gitea/workflows/verify.yml +29−0 View file
@@ -0,0 +1,29 @@
1 + name: Verify reference MVP
2 +
3 + on:
4 + push:
5 + branches: [main]
6 + pull_request:
7 +
8 + jobs:
9 + verify:
10 + runs-on: ubuntu-latest
11 + steps:
12 + - uses: actions/checkout@v4
13 + - name: Validate interface contract
14 + run: python -m json.tool contracts/component.interface.json >/dev/null
15 + - name: Run component tests
16 + run: python -m unittest discover -s tests -v
17 + - name: Exercise example
18 + run: python run.py examples/input.json | python -m json.tool >/dev/null
19 + - name: Build evidence package
20 + run: |
21 + mkdir -p dist
22 + tar -czf dist/reference-mvp.tar.gz asw_component contracts examples release README.md run.py
23 + sha256sum dist/reference-mvp.tar.gz > dist/checksums.sha256
24 + - name: Upload evidence
25 + uses: christopherhx/gitea-upload-artifact@v4
26 + with:
27 + name: reference-mvp-evidence
28 + path: dist
29 + retention-days: 30
added tests/test_component.py +18−0 View file
@@ -0,0 +1,18 @@
1 + from __future__ import annotations
2 + import json
3 + import unittest
4 + from pathlib import Path
5 + from asw_component import execute
6 +
7 + ROOT = Path(__file__).resolve().parents[1]
8 +
9 + class ComponentTest(unittest.TestCase):
10 + def test_reference_scenario(self):
11 + payload = json.loads((ROOT / "examples/input.json").read_text(encoding="utf-8"))
12 + result = execute(payload)
13 + self.assertTrue(result["accepted"])
14 + self.assertEqual(result["state"], "APPROVED")
15 + self.assertIn("integration_approver", result["audit_event"])
16 +
17 + if __name__ == "__main__":
18 + unittest.main()