mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-18 05:39:50 +08:00
## What changed - Added tag-driven release flow in GitLab CI: - new `release` stage with tag-only jobs - `publish_tag_artifacts` publishes Docker + Python artifacts on `vX.Y.Z` tags - `create_release_notes` generates release notes from conventional commits via `git-cliff` and creates a GitLab release via `glab` - Updated main-branch image publishing to version-aware tagging: - `publish_ecr_images` now runs `mise run publish:main` - main publishes `:dev`, `:latest`, and a versioned dev tag - Added release-oriented mise tasks: - `publish:main` - `publish:tag` - `python:publish:macos` (manual macOS arm64 wheel publish) - Switched Linux Python wheel builds to buildx: - added `deploy/docker/Dockerfile.python-wheels` - replaced old per-arch docker-run tasks with `python:build:multiarch` - Added macOS arm64 wheel build path for local publishing: - `python:build:macos` builds `aarch64-apple-darwin` - intended to run locally on macOS after tag CI finishes - Made Docker multiarch publish script tag-flexible: - `TAG_LATEST` is no longer hardcoded in ECR mode - supports `EXTRA_DOCKER_TAGS` - applies extra tags to sandbox/server/pki-job/cluster images - Moved release tooling to `build/scripts/release.py` and updated all mise references - Removed obsolete Docker Artifactory env vars from `mise.toml` ## Release behavior - **Main branch CI** - Docker: `:dev`, `:latest`, and versioned dev tag - **Tag CI (`vX.Y.Z`)** - Docker: `:X.Y.Z` only (no `:latest`) - Python: Linux wheels published from CI - GitLab release notes created from conventional commits - **Manual macOS step (after tagging)** 1. Checkout the tag locally on macOS 2. Run `mise run python:publish:macos` ## Validation - `mise run python:lint` - `mise run version:print` - `mise run python:build:macos` - `uv run python build/scripts/release.py --help`