feat: Introduce multi-architecture Alpine Docker images with NVM, Bun, and Deno support

This commit is contained in:
2025-10-26 14:00:20 +00:00
parent 66fd354b95
commit 83a07732db
9 changed files with 432 additions and 350 deletions

View File

@@ -1,5 +1,44 @@
# Changelog
## 2025-10-26 - 5.0.148 - feat(alpine)
Major restructuring: Multi-architecture Alpine Docker images with modern runtime support
**Breaking Changes:**
- Removed `Dockerfile_alpine` (replaced by `Dockerfile_alpine_node`)
- Removed `Dockerfile_iot` (no longer needed with multi-arch approach)
- Tag naming simplified: `:alpine-node` instead of `:alpine-x64-node` and `:alpine-arm64-node`
**New Multi-Architecture Alpine Images (3 variants):**
All images support both amd64 and arm64 architectures natively:
- `Dockerfile_alpine_node``:alpine-node` - Alpine with Node.js LTS + NVM + pnpm
- `Dockerfile_alpine_deno``:alpine-deno` - Alpine with Node.js LTS + NVM + Deno
- `Dockerfile_alpine_bun``:alpine-bun` - Alpine with Node.js LTS + NVM + Bun
**Technical Improvements:**
- **Multi-architecture support**: Single Docker image works natively on both x64 (AMD64) and ARM64 (Apple Silicon, ARM servers)
- **docker buildx integration**: Build script uses buildx for proper multi-platform image creation
- **Native performance**: No emulation needed - images run at full native speed on both architectures
- **Automatic platform selection**: Docker automatically pulls the correct architecture variant
- Full NVM support in all Alpine images (v0.40.1)
- Node.js musl builds from unofficial-builds.nodejs.org for Alpine compatibility
- Significantly smaller image sizes (200-300MB vs 800MB+ Ubuntu)
- All images include NVM for flexible version management
- Reused wrapper scripts from Ubuntu base for consistency
- Added Bun and Deno runtime support
**Build & Test Infrastructure:**
- Updated `build-alpine-images.sh` to use `docker buildx` with native platform builds for local testing
- Updated `test-alpine-images.sh` to test 3 multi-arch images instead of 9 architecture-specific images
- Simplified test suite focuses on runtime functionality and NVM version switching
**Documentation:**
- Updated README with multi-architecture approach explanation
- Simplified examples using new tag names (`:alpine-node`, `:alpine-deno`, `:alpine-bun`)
- Added cross-platform development examples
- Documented native performance benefits
- Removed architecture-specific instructions (no longer needed)
## 2025-10-26 - 5.0.147 - feat(nvm)
Enable full nvm support in Docker builds and CI/CD workflows