Ta4j Wiki

Documentation, examples and further information of the ta4j project

View the Wiki On GitHub

This project is maintained by ta4j Organization

PRD: Automated Release Process (Ta4j)

Status: Completed
Owner: Maintainers
Last updated: 2026-01-16
Completed: 2026-01-16

Problem Statement

Ta4j’s current release process is functional but fragile. Tags can become unreachable from master, release PRs can be merged in a way that breaks tag reachability, and the scheduler can make decisions that don’t align with actual binary changes. The workflow is also split across multiple steps without strong guardrails or automated health checks. This leads to drift, manual cleanup, and higher cognitive load for maintainers.

We need an automated release system that is robust, adaptive, and requires minimal hands-on maintenance while preserving governance (required review/approval) and ensuring release tags always reflect what is in master.

Goals

Non-goals

Stakeholders

Current State (A)

Gaps (A -> B)

Target State (B)


Proposed Solution

Phase 1: Guardrails and Observability (Low Risk)

1) Release Health Workflow

2) Scheduler Determinism

3) Default Branch Handling

Phase 2: Two-Phase Release (Robust)

Split the current release.yml into two workflows:

A) Prepare Release (prepare-release.yml)

B) Publish Release (publish-release.yml)

This ensures the tag is always an ancestor of master and removes reliance on human merge discipline.

Phase 3: Policy Hardening


Functional Requirements

Non-functional Requirements


Implementation Details (Concrete)

New/Modified Workflows

1) release-health.yml (new)

2) prepare-release.yml (new)

3) publish-release.yml (new)

4) release-scheduler.yml (update)

5) github-release.yml (unchanged)

Metadata Block

Direct Push Override


Rollout Plan

  1. Implement Phase 1 and deploy.
  2. Validate health workflow and scheduler decisions.
  3. Implement Phase 2 in a branch and test with dry-run.
  4. Switch scheduler to dispatch prepare-release.yml.
  5. Announce new process to maintainers.

Risks and Mitigations


Success Metrics


Implementation Status

Phase 1: Guardrails and Observability - Completed

Phase 2: Two-Phase Release - Completed

Phase 3: Policy Hardening - Completed


Open Questions (Resolved)


References