release-build
Run the full build and release pipeline for the Budget Analyser desktop app
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Run the full build and release pipeline for the Budget Analyser desktop app
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when performing any git operation — commits, branching, pushing, stashing, or viewing history. Enforces signed commits, semantic format with scope, and file-change table in commit messages.
Orchestrate a round-table discussion with the Budget Analyser development team agents before implementing a feature or task
Finance Analyst reviews financial logic in code changes for accuracy, edge cases, and domain correctness
| name | release-build |
| description | Run the full build and release pipeline for the Budget Analyser desktop app |
Execute the complete build, test, and release pipeline for the Budget Analyser Tauri v2 desktop application.
# Verify clean working tree
git status
# Check current branch
git branch --show-current
# Read version from pyproject.toml
grep 'version' pyproject.toml | head -5
# Verify dependencies are installed
uv sync --group dev
cd src/frontend && npm install
Gate: Working tree must be clean. All changes committed.
# Ruff lint and format check
uv run ruff check src/budget_analyser/
uv run ruff format --check src/budget_analyser/
# Pylint deep analysis (score must be >= 8.0)
uv run pylint src/budget_analyser/ --score=y
# Unit tests (ALL must pass)
uv run pytest src/test/unit/ -q
# Coverage report
uv run pytest --cov=src/budget_analyser --cov-report=term-missing
Gate: All linting passes, all tests green, pylint >= 8.0.
cd src/frontend
# TypeScript type checking
npx tsc --noEmit
# ESLint (if configured)
npm run lint 2>/dev/null || echo "ESLint not configured, skipping"
# Vite build
npx vite build
Gate: TypeScript clean, build succeeds.
Prompt the user before running — E2E tests require both servers running and take longer:
cd src/frontend
npm run test:e2e
Gate: All E2E tests pass (if user chose to run them).
cd src/frontend
npm run tauri build
This produces platform-specific artifacts:
src/frontend/src-tauri/target/release/bundle/dmg/*.dmgsrc/frontend/src-tauri/target/release/bundle/msi/*.msisrc/frontend/src-tauri/target/release/bundle/appimage/*.AppImageGate: Build completes without errors, artifacts exist.
Only proceed if the user explicitly requests a release:
# Get version from pyproject.toml
VERSION=$(grep '^version' pyproject.toml | head -1 | sed 's/.*"\(.*\)"/\1/')
# Create and push git tag
git tag -a "v$VERSION" -m "Release v$VERSION"
git push origin "v$VERSION"
# Create GitHub release draft
gh release create "v$VERSION" \
--title "Budget Analyser v$VERSION" \
--draft \
--generate-notes
After all steps complete, present a summary:
## Release Build Report
| Step | Status | Details |
|------|--------|---------|
| Pre-flight | PASS/FAIL | Clean tree, branch, version |
| Ruff lint | PASS/FAIL | Error count |
| Pylint | PASS/FAIL | Score: X.X/10 |
| Unit tests | PASS/FAIL | X passed, Y failed |
| Coverage | INFO | XX% overall |
| TypeScript | PASS/FAIL | Error count |
| Frontend build | PASS/FAIL | Bundle size |
| E2E tests | PASS/FAIL/SKIPPED | X passed |
| Tauri build | PASS/FAIL | Artifact path |
| Release | CREATED/SKIPPED | Tag, URL |
**Overall: READY FOR RELEASE / ISSUES FOUND**