Skip to content

Commit 85ef56b

Browse files
committed
feat(release): add release and distribution infrastructure (Story 11-5)
- Create CHANGELOG.md with Keep a Changelog format - Document v0.1.0 initial release features - Track unreleased changes - Create install.sh installation script - Auto-detect platform (Linux/macOS/Windows) - Auto-detect architecture (amd64/arm64) - Support version and component selection - Checksum verification support - Colorful output and error handling - Create docs/installation.md - One-line installation instructions - Docker, binary, go install methods - Build from source instructions - Uninstallation guide - Create RELEASING.md release guide - Semantic versioning guidelines - Complete release process - Release checklist template - Hotfix and pre-release flows - Rollback procedures - Update README.md - Add installation section - Add CLI usage examples AC Coverage: AC1-AC6 (documentation and tooling ready)
1 parent f6dc2ec commit 85ef56b

7 files changed

Lines changed: 1193 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# Changelog
2+
3+
All notable changes to Waterflow will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- GitHub Actions CI/CD workflows with parallel jobs
12+
- Integration and acceptance testing frameworks
13+
- Docker image security scanning with Trivy
14+
- Multi-platform binary releases (Linux/macOS/Windows × amd64/arm64)
15+
- SHA256 checksums for release verification
16+
- CLI tool (`waterflow`) for workflow management
17+
- Go SDK for programmatic workflow control
18+
- Workflow templates (single-server, multi-server, distributed-stack)
19+
20+
### Changed
21+
- Enhanced CI workflow with lint, security, test, and build stages
22+
- Improved Docker build with QEMU multi-platform support
23+
- Updated README with CI/CD status badges
24+
25+
### Fixed
26+
- Various test coverage improvements
27+
- Documentation updates for consistency
28+
29+
## [0.1.0] - 2026-01-23
30+
31+
### Added
32+
- Initial release of Waterflow workflow orchestration engine
33+
- **Core Features:**
34+
- YAML DSL for declarative workflow definitions
35+
- Expression engine with 14 built-in functions
36+
- Conditional execution and control flow
37+
- Matrix parallel execution strategy
38+
- Timeout and retry policies
39+
- Temporal SDK integration for reliable execution
40+
41+
- **Distributed Agent System:**
42+
- Agent worker framework with task queue mapping
43+
- Multi-server task distribution
44+
- Docker agent image (51.6MB)
45+
46+
- **Node Plugin System:**
47+
- Shell command execution (`exec/shell`)
48+
- Script file execution (`exec/script`)
49+
- Sleep/delay node (`flow/sleep`)
50+
- HTTP request node (`http/request`)
51+
- File transfer via SCP (`file/transfer`)
52+
- Docker exec node (`docker/exec`)
53+
- Docker Compose node (`docker/compose`)
54+
- Custom plugin development support
55+
56+
- **CLI Tool:**
57+
- `waterflow validate` - Validate workflow YAML
58+
- `waterflow submit` - Submit workflow for execution
59+
- `waterflow status` - Check workflow status
60+
- `waterflow logs` - View workflow logs
61+
- `waterflow nodes` - List available nodes
62+
63+
- **Go SDK:**
64+
- Client library for API integration
65+
- Workflow submission and management
66+
- Status polling and log retrieval
67+
68+
- **Workflow Templates:**
69+
- Single-server deployment template
70+
- Multi-server health check template
71+
- Distributed stack deployment template
72+
73+
- **Production Features:**
74+
- Typed error handling with RFC 7807
75+
- Structured logging with sensitive data redaction
76+
- Prometheus metrics export
77+
- Event handler interface
78+
- Log handler interface
79+
- HTTPS/TLS support
80+
- Secret provider interface (Env, Vault)
81+
- Audit logging
82+
83+
- **Deployment:**
84+
- Docker Compose complete stack
85+
- Configuration management with validation
86+
- Health check and readiness probes
87+
- Comprehensive deployment documentation
88+
89+
- **Documentation:**
90+
- Quick start guide
91+
- REST API specification (OpenAPI 3.0)
92+
- YAML DSL syntax reference
93+
- Troubleshooting guide
94+
- Workflow examples library
95+
- Architecture concepts documentation
96+
97+
### Security
98+
- TLS/HTTPS support for server and agent communication
99+
- Secret provider interface for secure credential management
100+
- Audit logging for compliance requirements
101+
- Security best practices documentation
102+
103+
---
104+
105+
## Version History Summary
106+
107+
| Version | Date | Highlights |
108+
|---------|------|------------|
109+
| 0.1.0 | 2026-01-23 | Initial release with core workflow engine |
110+
111+
## Upgrade Notes
112+
113+
### Upgrading to 0.1.0
114+
115+
This is the initial release. No upgrade path required.
116+
117+
## Links
118+
119+
- [GitHub Releases](https://github.com/Websoft9/waterflow/releases)
120+
- [Docker Hub](https://hub.docker.com/r/websoft9/waterflow-server)
121+
- [Documentation](https://github.com/Websoft9/waterflow/tree/main/docs)
122+
123+
[Unreleased]: https://github.com/Websoft9/waterflow/compare/v0.1.0...HEAD
124+
[0.1.0]: https://github.com/Websoft9/waterflow/releases/tag/v0.1.0

README.md

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,20 @@ jobs:
6161
6262
## 🚀 Quick Start
6363
64-
### One-Click Deployment with Docker Compose
64+
### Installation
65+
66+
```bash
67+
# One-line install (Linux/macOS)
68+
curl -fsSL https://raw.githubusercontent.com/Websoft9/waterflow/main/scripts/install.sh | bash
69+
70+
# Or via Go
71+
go install github.com/Websoft9/waterflow/cmd/waterflow-cli@latest
72+
73+
# Or download from GitHub Releases
74+
# https://github.com/Websoft9/waterflow/releases
75+
```
76+
77+
### Docker Compose Deployment
6578

6679
```bash
6780
# Clone repository
@@ -79,13 +92,16 @@ curl http://localhost:8080/health
7992
### Submit Your First Workflow
8093

8194
```bash
82-
# Submit hello-world example
95+
# Using CLI
96+
waterflow submit examples/hello-world.yaml
97+
98+
# Or using curl
8399
curl -X POST http://localhost:8080/v1/workflows \
84100
-H "Content-Type: application/json" \
85-
-d "{\"yaml\": \"$(cat ../examples/hello-world.yaml | sed 's/"/\\"/g' | tr '\n' ' ')\"}"
101+
-d "{\"yaml\": \"$(cat examples/hello-world.yaml | sed 's/"/\\"/g' | tr '\n' ' ')\"}"
86102

87103
# Check workflow status
88-
curl http://localhost:8080/v1/workflows
104+
waterflow status
89105
```
90106

91107
### Access Temporal UI

0 commit comments

Comments
 (0)