mirror of
https://github.com/factoriotools/factorio-docker.git
synced 2025-07-13 04:25:22 +02:00
- Create build-unified.py that handles both regular and rootless builds - Convert build.py and build-rootless.py to wrapper scripts for backwards compatibility - Update CI workflow to use unified build command - Add BUILD_MIGRATION.md documentation - Eliminate code duplication between build scripts - Support flexible build options: --rootless, --both, --only-stable-latest This maintains all existing functionality while providing a cleaner, more maintainable build system. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Build System Migration Guide
Overview
The build system has been unified into a single script (build-unified.py
) that can build both regular and rootless Docker images. This replaces the separate build.py
and build-rootless.py
scripts.
New Unified Build Script
Usage
# Build only regular images (default behavior)
./build-unified.py
# Build only rootless images
./build-unified.py --rootless
# Build both regular and rootless images
./build-unified.py --both
# Build with multi-architecture support
./build-unified.py --multiarch --both
# Build and push to Docker Hub
./build-unified.py --push-tags --multiarch --both
# Build only stable/latest versions (useful for rootless)
./build-unified.py --rootless --only-stable-latest --push-tags --multiarch
Options
--push-tags
: Push images to Docker Hub (requires DOCKER_USERNAME and DOCKER_PASSWORD env vars)--multiarch
: Build multi-architecture images (linux/amd64 and linux/arm64)--rootless
: Build only rootless images--both
: Build both regular and rootless images--only-stable-latest
: Build only versions tagged as 'stable' or 'latest'
Migration Path
For CI/CD
The GitHub Actions workflow has been updated to use:
./build-unified.py --push-tags --multiarch --both
For Local Development
Replace old commands with new ones:
Old Command | New Command |
---|---|
./build.py |
./build-unified.py |
./build.py --multiarch |
./build-unified.py --multiarch |
./build-rootless.py |
./build-unified.py --rootless |
./build.py && ./build-rootless.py |
./build-unified.py --both |
Backwards Compatibility
The original build.py
and build-rootless.py
scripts are now wrappers that call the unified script with appropriate arguments to maintain backwards compatibility.