Skip to content

Commit 24d227e

Browse files
committed
docs: Add comprehensive version nomenclature documentation across all files
- Updated main README.md with current version (v3.1.3) and complete version format explanation - Updated entity counts from 29 to 35 entities throughout documentation - Added comprehensive version nomenclature section to main README with practical examples - Updated specifications README.md to reflect consolidated build system (build.sh) - Enhanced WORKFLOWS.md with detailed CI/CD version extraction and usage patterns - Created comprehensive VERSION.md with complete reference documentation - Updated CHANGELOG.md to document the Git-based version nomenclature system - All documentation now explains v3.1.3-5-gaac45b1 format with traceability benefits Provides complete understanding of Git describe-based versioning across development, CI/CD, and production environments with precise build reproduction capabilities.
1 parent aac45b1 commit 24d227e

File tree

5 files changed

+525
-49
lines changed

5 files changed

+525
-49
lines changed

.github/WORKFLOWS.md

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ The BOOST repository uses GitHub Actions to automate documentation building, val
99
### Key Features
1010
- **🐳 Docker Containerization**: All builds use `ghcr.io/carbondirect/boost/boost-builder:latest` for 4-6x faster execution
1111
- **🚀 Automatic Releases**: All semantic version tags trigger full release packages
12-
- **✅ Schema Validation**: Comprehensive validation of 33+ entity schemas
12+
- **✅ Schema Validation**: Comprehensive validation of 35+ entity schemas
1313
- **📄 Multi-Format Output**: HTML, PDF, and interactive ERD Navigator generation
1414
- **🔍 Version Analysis**: Intelligent version type detection and appropriate release handling
15+
- **🏷️ Automated Versioning**: Git-based version nomenclature with complete traceability
1516

1617
## 📋 Workflow Summary
1718

@@ -22,6 +23,67 @@ The BOOST repository uses GitHub Actions to automate documentation building, val
2223
| [📚 Build Documentation](#build-documentation) | Push to branches | Build development docs & deploy | ✅ Docker | ~2-3 min |
2324
| [🐳 Docker Image Builder](#docker-image-builder) | Dockerfile changes | Build & push container images | ❌ Native | ~5-8 min |
2425

26+
## 🏷️ Version Nomenclature in CI/CD
27+
28+
All BOOST workflows use automated Git-based versioning for complete traceability and reproducible builds.
29+
30+
### **Version Format: `v3.1.3-5-gaac45b1`**
31+
32+
Every build automatically extracts and uses version information following the Git describe format:
33+
34+
| Component | Example | Purpose | Source |
35+
|-----------|---------|---------|---------|
36+
| **Base Tag** | `v3.1.3` | Latest semantic version release | Git tags |
37+
| **Commit Count** | `-5` | Development commits since release | Git history |
38+
| **Commit Hash** | `-gaac45b1` | Exact code state identifier | Git SHA |
39+
40+
### **Version Extraction Workflow**
41+
42+
#### **Production Builds** (Release & Main Branch)
43+
```bash
44+
# 1. Extract version outside Docker container (git access)
45+
VERSION=$(git describe --tags --always)
46+
47+
# 2. Pass to containerized build via environment variable
48+
export RELEASE_VERSION="$VERSION"
49+
50+
# 3. Container uses pre-extracted version (no git dependency)
51+
echo "Building with version: $RELEASE_VERSION"
52+
```
53+
54+
#### **Development Builds** (Feature Branches)
55+
```bash
56+
# Similar process but with development-specific naming
57+
VERSION="${BASE_TAG}-dev-${SHORT_HASH}"
58+
59+
# Example: v3.1.3-dev-aac45b1 for untagged development
60+
```
61+
62+
### **Version Usage Across Workflows**
63+
64+
| Workflow | Version Source | Format Example | Usage |
65+
|----------|---------------|----------------|-------|
66+
| **Release** | Git tags | `v3.1.3` | GitHub release naming, artifact tagging |
67+
| **Development** | Git describe | `v3.1.3-5-gaac45b1` | Build identification, artifact naming |
68+
| **Docker Image** | Git commits | `main-aac45b1` | Container tagging, cache keys |
69+
70+
### **Traceability Benefits**
71+
72+
- **🎯 Exact Reproduction**: Any build can be reproduced with the commit hash
73+
- **📋 Issue Debugging**: Full version context for troubleshooting
74+
- **🚀 Release Tracking**: Clear development progress between releases
75+
- **🔍 Artifact Linking**: Direct connection between builds and source code
76+
- **📊 Build Analytics**: Version-based performance and success tracking
77+
78+
### **Integration with Documentation**
79+
80+
- **HTML Headers**: Include version for user reference
81+
- **PDF Metadata**: Embed version for document tracking
82+
- **Build Logs**: Log version for debugging and audit trails
83+
- **Artifact Names**: Use version in downloadable package names
84+
85+
This automated versioning ensures every BOOST documentation build has complete provenance tracking from source code to final deliverable.
86+
2587
## 🏷️ Release Documentation
2688

2789
**File**: `.github/workflows/release.yml`

CHANGELOG.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,25 @@
22

33
All notable changes to the BOOST data standard are documented in this file.
44

5-
## [3.1.3] - 2025-08-14 - Enhanced Unified Build System & CI/CD Pipeline
5+
## [3.1.3] - 2025-08-14 - Consolidated Build System with Git-Based Version Nomenclature
6+
7+
### Added
8+
- **🏷️ Git-Based Version Nomenclature System** - Comprehensive automated versioning with complete traceability
9+
- **Standard Format**: `v3.1.3-5-gaac45b1` providing base release, commit count, and exact commit hash
10+
- **Automated Extraction**: Git describe-based version detection in all build processes
11+
- **CI/CD Integration**: Version automatically extracted outside Docker containers and passed to builds
12+
- **Complete Documentation**: Added comprehensive VERSION.md with format explanations and usage examples
13+
- **Multi-Context Support**: Works in local development, CI/CD pipelines, and Docker environments
14+
- **📋 Consolidated Build System** - Single `build.sh` script replacing multiple build scripts
15+
- **Flag Support**: `--html`, `--pdf`, `--help` flags for targeted builds
16+
- **Enhanced LaTeX Error Detection**: Distinguishes critical errors from acceptable warnings
17+
- **Comprehensive Validation**: Version management, dependency checking, and build statistics
18+
- **Version Integration**: Automatic version placeholder replacement in all output formats
19+
- **📚 Version Documentation System** - Complete documentation coverage across all files
20+
- **README.md**: Version nomenclature section with practical examples and traceability benefits
21+
- **WORKFLOWS.md**: CI/CD version extraction and usage patterns
22+
- **Specifications README**: Build system version integration and debugging guidance
23+
- **VERSION.md**: Comprehensive reference for all version-related functionality
624

725
### Enhanced
826
- **Unified Build System Performance** - Optimized schema-to-LaTeX generation and PDF compilation
@@ -32,6 +50,17 @@ All notable changes to the BOOST data standard are documented in this file.
3250
- Fixed Docker image compatibility with enhanced LaTeX package requirements
3351

3452
### Technical Improvements
53+
- **Version Traceability Architecture** - Complete end-to-end version tracking system
54+
- **Git Describe Integration**: Uses `git describe --tags --always` for precise version identification
55+
- **Environment Variable Passing**: `RELEASE_VERSION` properly passed to Docker containers in CI/CD
56+
- **Multi-Priority Detection**: Local development, CI/CD, and fallback version extraction methods
57+
- **Documentation Integration**: Version information embedded in HTML headers, PDF metadata, and build logs
58+
- **Exact Reproduction**: Any build can be reproduced using the commit hash from the version string
59+
- **Build Script Consolidation** - Eliminated redundant scripts and centralized functionality
60+
- **Removed Scripts**: `build-all.sh`, `build-spec.sh`, `build-pdf.sh`, `build-unified.sh` (4 scripts removed)
61+
- **Enhanced Error Handling**: LaTeX warnings classified as acceptable vs problematic with detailed reporting
62+
- **Warning Analysis**: Pass-by-pass warning tracking (13→2→1 warnings) with final status summary
63+
- **Build Validation**: Comprehensive consistency checking and statistics generation
3564
- **Build System Reliability** - Eliminated all LaTeX compilation errors for consistent PDF generation
3665
- **Error-Free Compilation**: Zero LaTeX errors in unified build system
3766
- **Complete Navigation**: TOC, LOT, and LOF properly generated in all builds

README.md

Lines changed: 70 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Overview
44
This repository contains the working draft and artifacts of the Biomass Open Origin Standard for Tracking (BOOST), which defines a robust and interoperable data model for tracking biomass through complex supply chains. The standard supports transparent, verifiable, and consistent data exchange to enable sustainability, regulatory compliance, and supply chain integrity.
55

6-
**Current Version: v3.0.3** - Docker containerized builds, automatic releases for all semantic versions, and comprehensive GitHub Actions workflow automation.
6+
**Current Version: v3.1.3** - Consolidated build system with enhanced LaTeX error detection, automated version management, and comprehensive GitHub Actions workflow automation.
77

88
- **Charter:** [BOOST_Charter.org](BOOST_Charter.org)
99
- **Charter Effective Date:**
@@ -33,7 +33,7 @@ W3C Community Group page: [BOOST-01](https://www.w3.org/community/boost-01/)
3333
- **Supply Base Management** - Infrastructure mapping with harvest sites and transportation routes
3434

3535
### Comprehensive Entity System
36-
- **29 Interconnected Entities** - Complete data model covering all aspects of biomass supply chains across 7 thematic areas
36+
- **35 Interconnected Entities** - Complete data model covering all aspects of biomass supply chains across 7 thematic areas
3737
- **JSON-LD Validation** - Structured schemas with business rules and examples
3838
- **Interactive ERD Navigator** - Dynamic exploration with GitHub discussion integration
3939
- **Sustainability Claims** - Species-specific claims with inheritance through processing
@@ -63,11 +63,11 @@ W3C Community Group page: [BOOST-01](https://www.w3.org/community/boost-01/)
6363
├── drafts/ # Organized draft content
6464
│ ├── current/ # Active working content
6565
│ │ ├── specifications/ # Current spec documents
66-
│ │ ├── schema/ # Entity schemas and validation (29 entities)
66+
│ │ ├── schema/ # Entity schemas and validation (35 entities)
6767
│ │ │ ├── traceable_unit/ # Core TRU entity with examples
6868
│ │ │ ├── species_component/ # Multi-species tracking
6969
│ │ │ ├── material_processing/ # Processing operations
70-
│ │ │ └── [26 additional entities] # Complete BOOST Traceability System
70+
│ │ │ └── [32 additional entities] # Complete BOOST Traceability System
7171
│ │ ├── images/
7272
│ │ │ ├── current/ # Interactive ERD and current visuals
7373
│ │ │ └── archive/ # Historical ERD iterations and deprecated files
@@ -107,7 +107,7 @@ W3C Community Group page: [BOOST-01](https://www.w3.org/community/boost-01/)
107107
## 🚀 Getting Started
108108

109109
### For Developers
110-
1. **Explore the Interactive ERD**: Use the [Interactive ERD Navigator](erd-navigator/index.html) to explore all 29 entities with dynamic filtering and GitHub discussion integration
110+
1. **Explore the Interactive ERD**: Use the [Interactive ERD Navigator](erd-navigator/index.html) to explore all 35 entities with dynamic filtering and GitHub discussion integration
111111
2. **Review Entity Schemas**: Check `drafts/current/schema/` for JSON validation schemas and examples
112112
3. **Review Schema Organization**: Check entity schemas in `drafts/current/schema/` for implementation details
113113
4. **Migration Guide**: See `drafts/current/specifications/MATERIALBATCH_TO_TRU_MIGRATION_GUIDE.md` for conceptual changes
@@ -128,7 +128,7 @@ W3C Community Group page: [BOOST-01](https://www.w3.org/community/boost-01/)
128128
The [Interactive ERD Navigator](erd-navigator/index.html) provides a comprehensive, stakeholder-friendly way to explore the BOOST data model:
129129

130130
### 🔍 Key Features
131-
- **29 Entity Coverage**: Complete visualization of all entities across 7 thematic areas
131+
- **35 Entity Coverage**: Complete visualization of all entities across 7 thematic areas
132132
- **Dynamic Filtering**: Focus on specific domains (Core Traceability, Organizational, Material & Supply, etc.)
133133
- **Direct Discussion Access**: Purple 💬 icons in each entity header link directly to GitHub discussions
134134
- **TraceableUnit Focus Mode**: 🎯 button to reduce visual complexity and highlight essential relationships
@@ -157,11 +157,74 @@ Each entity has a dedicated GitHub discussion thread accessible via the ERD. Thi
157157

158158
- **✅ Complete**: BOOST Traceability System Phases 1-3 implementation
159159
- **✅ Complete**: Plant part categorization system
160-
- **✅ Complete**: 29 entity schemas with validation and examples
160+
- **✅ Complete**: 35 entity schemas with validation and examples
161161
- **✅ Complete**: Interactive ERD Navigator with GitHub discussion integration
162162
- **✅ Complete**: Integration testing scenarios and migration documentation
163163
- **🔄 Active**: Community feedback integration and use case expansion
164164

165+
## 🏷️ Version Nomenclature
166+
167+
BOOST uses Git-based semantic versioning with development build identification. Understanding the version format is essential for tracking releases and development progress.
168+
169+
### Version Format: `v3.1.3-5-gaac45b1`
170+
171+
All BOOST versions follow the **Git describe** format, providing precise traceability:
172+
173+
#### **Components Breakdown:**
174+
175+
1. **`v3.1.3`** - **Base Release Tag**
176+
- Latest official release using semantic versioning (Major.Minor.Patch)
177+
- Example: `v3.1.3` represents a patch release in the 3.1.x series
178+
179+
2. **`-5`** - **Commits Since Release**
180+
- Number of commits made since the base release tag
181+
- Indicates this is a **development build**, not an official release
182+
- Higher numbers = more development activity since last release
183+
184+
3. **`-g`** - **Git Indicator**
185+
- Standard Git convention indicating the following is a commit hash
186+
- The "g" stands for "git"
187+
188+
4. **`aac45b1`** - **Commit Hash (Short)**
189+
- 7-character abbreviated SHA hash of the specific commit
190+
- Uniquely identifies the exact code state used for this build
191+
- Full hash is longer (e.g., `aac45b1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q`)
192+
193+
### **Version Types:**
194+
195+
| Format | Type | Description | Example |
196+
|--------|------|-------------|---------|
197+
| `v3.1.3` | **Release** | Official tagged release | Stable, production-ready |
198+
| `v3.1.3-5-gabc123` | **Development** | 5 commits after v3.1.3 | In-progress development |
199+
| `v3.2.0-1-gdef456` | **Post-Release** | 1 commit after new release | Latest development |
200+
201+
### **Development Build Evolution:**
202+
203+
```
204+
v3.1.3 ← Official release (tagged)
205+
v3.1.3-1-g0057230 ← 1 commit after release
206+
v3.1.3-2-gca1a0c6 ← 2 commits after release
207+
v3.1.3-3-g2615374 ← 3 commits after release
208+
v3.1.3-4-gfe2beb4 ← 4 commits after release
209+
v3.1.3-5-gaac45b1 ← 5 commits after release (current example)
210+
```
211+
212+
### **Practical Usage:**
213+
214+
- **🎯 Exact Reproduction**: Any version can be reproduced with `git checkout <commit-hash>`
215+
- **📋 Issue Reporting**: Always include full version for accurate debugging
216+
- **🚀 Release Planning**: Development versions show progress toward next release
217+
- **🔍 Build Tracking**: CI/CD systems use this for automated version management
218+
219+
### **In Documentation Builds:**
220+
221+
- **HTML/PDF Headers**: Show exact version used for generation
222+
- **Build Logs**: Include version for reproducibility tracking
223+
- **Release Artifacts**: Tagged with precise version information
224+
- **GitHub Actions**: Automatically extract and use for build naming
225+
226+
This versioning system ensures **complete traceability** - you can always identify the exact code state that generated any documentation build or release artifact.
227+
165228
## 🤖 Automated CI/CD Workflows
166229

167230
The BOOST repository includes comprehensive GitHub Actions automation for documentation building, validation, and release management.

0 commit comments

Comments
 (0)