Skip to content

Release readiness tasks for v0.1.0 #10

@wauputr4

Description

@wauputr4

Ringkasan

Tracking kesiapan Rute Bayar menuju release publik stabil v0.1.0.

Status Saat Ini

v0.1.0-alpha.2 sudah dipublish sebagai prerelease dengan release asset automation.

Release alpha sudah layak untuk:

  • demo internal
  • uji coba contributor awal
  • validasi flow lokal dan sandbox provider
  • feedback API/CLI/ops sebelum stable

PR hardening:

Release:

Verified untuk Alpha

  • GOCACHE=/tmp/go-build go test ./...
  • Build binary dengan version injection
  • GitHub prerelease: v0.1.0-alpha.1
  • GitHub prerelease: v0.1.0-alpha.2
  • CI GitHub Actions hijau di PR feat: add release hardening checks and diagnostics #20: test + build matrix
  • Release workflow tag v0.1.0-alpha.2 hijau
  • Release assets otomatis terupload:
    • rute-bayar-linux-amd64
    • rute-bayar-linux-arm64
    • rute-bayar-darwin-amd64
    • rute-bayar-darwin-arm64
    • rute-bayar-windows-amd64.exe
    • checksums.txt

Task List

P0 - Core Payment

  • Implement refund untuk Xendit Payment Session

    • Provider adapter tersedia
    • CLI pay refund tersedia
    • Persistence refund tersedia
    • Unit test adapter/service/CLI tersedia
  • Implement refund untuk Midtrans yang didukung

    • Provider adapter tersedia
    • CLI pay refund tersedia lewat service umum
    • Persistence refund tersedia
    • Unit test adapter/service tersedia

P1 - Webhook Reliability

  • Idempotency webhook dasar

    • Duplicate event handling sudah lebih aman
    • Status update tidak diulang saat status sudah sama
    • Event identity sudah diperbaiki
  • Implement webhook replay yang bisa dioperasikan manual

    • Replay berdasarkan webhook_event_id
    • Provider filter opsional tersedia
    • Forwarding filter tetap dihormati saat replay
  • Tambahkan diagnostic command untuk forwarding

    • webhook forward attempts list
    • webhook forward attempts show <attempt-id>
    • webhook forward attempts retry <attempt-id>
    • JSON output tersedia untuk list/show

P1 - Operational

  • Konsolidasi status mapping

    • Helper internal/provider.MapPaymentStatus
    • Dokumentasi docs/status-mapping.md
    • Mapping Midtrans/Xendit terdokumentasi
  • CI/CD dasar

    • GitHub Actions untuk gofmt check
    • go test ./...
    • go vet ./...
    • build matrix untuk Linux, macOS, Windows

P2 - Release Engineering

  • Buat CHANGELOG.md untuk alpha release
  • Review README usage/install untuk alur onboarding + pembayaran + webhook + forward
  • Verifikasi cepat tidak ada secret provider nyata tersimpan di source code
  • Tag dan publish prerelease v0.1.0-alpha.1
  • Otomasi GitHub Release asset dari CI
  • Tag dan publish prerelease v0.1.0-alpha.2 lewat workflow otomatis
  • Tag dan publish stable v0.1.0 setelah checklist stabil selesai

P2 - Documentation

  • Tambah operations runbook

    • health check
    • webhook simulation
    • replay
    • Cloudflare tunnel testing
    • SQL diagnostics
  • Tambah checklist simulasi end-to-end yang lebih formal

    • onboard provider
    • pay create
    • pay status
    • webhook verify/parse/reconcile
    • webhook forward
    • refund/reconcile

Acceptance Criteria Stable v0.1.0

  • go test ./... lulus konsisten di CI
  • create -> webhook -> pay status berjalan untuk Midtrans dan Xendit dengan sandbox credential terbaru
  • refund dapat dijalankan end-to-end untuk provider yang didukung dengan sandbox credential terbaru
  • ada observabilitas replay/diagnostic yang jelas
  • CI dan release docs siap untuk dipakai user lain
  • release asset automation siap untuk stable tag

Sisa Sebelum Stable

  • Rotate credential sandbox/provider yang pernah keluar dari secret store.
  • Jalankan checklist docs/end-to-end-smoke.md dengan credential terbaru.
  • Catat hasil sandbox E2E Xendit dan Midtrans di issue/PR terpisah.
  • Jika dua provider lolos E2E, siapkan tag stable v0.1.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions