AWS HPC Platform uses a dual versioning system inspired by aws-ide to track platform stability and application features independently.
geos-chem v0.2.0 (platform: v1.0.0)
^^^^^ ^^^^^
│ └─ Platform/Infrastructure Version
└─ Application Version
| Component | Version | Status |
|---|---|---|
Platform (pkg/) |
v1.0.0-dev | In Development |
| GEOS-Chem | v0.1.0-alpha | Extracting |
| Gaussian | - | Planned |
| WRF | - | Planned |
Current: v1.0.0-dev
Git Tag Format: pkg/v1.0.0
-
MAJOR (
X.0.0): Breaking API changes- Changed function signatures in
pkg/ - Removed public APIs
- Modified application specification schema (breaking)
- Changed function signatures in
-
MINOR (
1.X.0): New features (backward compatible)- New packages under
pkg/ - New application spec fields (optional)
- New compute architectures
- New packages under
-
PATCH (
1.0.X): Bug fixes- Bug fixes in platform code
- Performance improvements
- Documentation updates
pkg/aws/batch.go: AWS Batch managementpkg/aws/ec2.go: EC2 instance managementpkg/aws/ecr.go: Container registrypkg/aws/s3.go: S3 storage managementpkg/aws/vpc.go: Networkingpkg/container/builder.go: Multi-architecture container buildspkg/container/optimizer.go: Architecture-specific optimizationspkg/job/scheduler.go: Job scheduling and queuingpkg/config/application.go: Application specification loaderpkg/cost/calculator.go: Cost estimation and tracking
Format: <app>/vX.Y.Z
Git Tag Format: geos-chem/v0.2.0
-
MAJOR (
X.0.0): Breaking changes to application- Incompatible configuration changes
- Major algorithm changes
- Removed features
-
MINOR (
0.X.0): New features- New environments
- New container architectures
- New configuration options
-
PATCH (
0.2.X): Bug fixes- Bug fixes
- Performance optimizations
- Documentation updates
Format: hpc-base-<family>-<arch>:YYYYMMDD
Examples:
hpc-base-amd-zen4:20251018hpc-base-intel-spr:20251018hpc-base-arm-graviton4:20251018
- Date-based: Images tagged with build date
- Latest: Rolling
latesttag for current stable - Frozen: Specific dates for reproducibility
- Security patches: As needed (CVEs)
- Library updates: Monthly
- Compiler updates: Quarterly
- Major versions: Annually
Applications specify minimum platform version:
# applications/geos-chem/app.yaml
platform_version: ">=1.0.0"Platform checks compatibility at runtime:
if app.PlatformVersion > platform.Version {
return errors.New("application requires newer platform")
}Applications specify base image requirements:
# applications/geos-chem/app.yaml
containers:
base_images:
amd-zen4: "hpc-base-amd-zen4:20251018"
intel-spr: "hpc-base-intel-spr:latest"
arm-graviton4: "hpc-base-arm-graviton4:>=20251001"- Update
pkg/version.go - Tag:
git tag pkg/v1.0.0 - Build and test all applications
- Update CHANGELOG.md
- Create GitHub release
- Update
applications/<app>/app.yaml - Build containers for all architectures
- Tag:
git tag geos-chem/v0.2.0 - Test deployment
- Update application CHANGELOG
- Update Dockerfiles in
base-images/ - Build for all architectures
- Tag:
hpc-base-amd-zen4:YYYYMMDD - Push to ECR
- Test with sample applications
When platform APIs change:
- Applications continue working
- Update documentation
- Deprecation warnings if needed
- Announce in advance (30 days)
- Provide migration guide
- Support N-1 version for 90 days
- Update all applications in repo
- Release notes with upgrade path
pkg/version.go # Platform version
applications/geos-chem/app.yaml # App version
base-images/amd/Dockerfile # Base image version
# Platform version
aws-hpc version
# Application version
aws-hpc app version geos-chem
# Base image versions
aws-hpc base-images list2025-10-18: Platform v1.0.0-dev, GEOS-Chem v0.1.0-alpha
2025-11-01: Platform v1.0.0-beta.1, GEOS-Chem v0.1.0-beta
2025-12-01: Platform v1.0.0, GEOS-Chem v0.1.0
2026-01-15: GEOS-Chem v0.2.0 (new environments)
2026-02-01: Gaussian v0.1.0 (first release)
2026-03-01: Platform v1.1.0 (new features)