feat: disable Docker builds for development versions (#239)

* feat: disable Docker builds for development versions

- Remove dev-latest, main-latest, and dev-* version options from manual triggers
- Skip Docker builds for development versions in workflow_run events
- Only build Docker images for releases (v1.0.0) and prereleases (v1.0.0-alpha1)
- Simplify tags generation logic by removing development branch handling
- Update workflow documentation to reflect release-only Docker strategy

BREAKING CHANGE: Development Docker images are no longer built automatically

* feat: remove dev channel support from Dockerfile

- Remove CHANNEL build argument (no longer needed)
- Simplify download logic to only support release channel
- Remove dev-specific package download paths
- Update BASE_URL to point directly to release directory
- Remove channel label from Docker image metadata
- Streamline version handling (latest vs specific release)

This aligns with the workflow changes that disabled dev Docker builds.
This commit is contained in:
安正超
2025-07-17 06:06:40 +08:00
committed by GitHub
parent ee5f94a2e2
commit b4f87a4fee
2 changed files with 45 additions and 82 deletions

View File

@@ -5,7 +5,6 @@ FROM alpine:latest AS build
ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG RELEASE=latest
ARG CHANNEL=release
# Install dependencies for downloading and verifying binaries
RUN apk add --no-cache \
@@ -27,30 +26,19 @@ RUN case "${TARGETPLATFORM}" in \
esac && \
echo "ARCH=${ARCH}" > /build/arch.env
# Download rustfs binary from dl.rustfs.com
# Download rustfs binary from dl.rustfs.com (release channel only)
RUN . /build/arch.env && \
BASE_URL="https://dl.rustfs.com/artifacts/rustfs" && \
BASE_URL="https://dl.rustfs.com/artifacts/rustfs/release" && \
PLATFORM="linux" && \
if [ "${RELEASE}" = "latest" ]; then \
# Download latest version from specified channel \
if [ "${CHANNEL}" = "dev" ]; then \
PACKAGE_NAME="rustfs-${PLATFORM}-${ARCH}-dev-latest.zip"; \
DOWNLOAD_URL="${BASE_URL}/dev/${PACKAGE_NAME}"; \
echo "📥 Downloading latest dev build: ${PACKAGE_NAME}"; \
else \
PACKAGE_NAME="rustfs-${PLATFORM}-${ARCH}-latest.zip"; \
DOWNLOAD_URL="${BASE_URL}/release/${PACKAGE_NAME}"; \
echo "📥 Downloading latest release build: ${PACKAGE_NAME}"; \
fi; \
elif [ "${CHANNEL}" = "dev" ]; then \
# Download specific dev version \
PACKAGE_NAME="rustfs-${PLATFORM}-${ARCH}-${RELEASE}.zip"; \
DOWNLOAD_URL="${BASE_URL}/dev/${PACKAGE_NAME}"; \
echo "📥 Downloading specific dev version: ${PACKAGE_NAME}"; \
# Download latest release version \
PACKAGE_NAME="rustfs-${PLATFORM}-${ARCH}-latest.zip"; \
DOWNLOAD_URL="${BASE_URL}/${PACKAGE_NAME}"; \
echo "📥 Downloading latest release build: ${PACKAGE_NAME}"; \
else \
# Download specific release version \
PACKAGE_NAME="rustfs-${PLATFORM}-${ARCH}-v${RELEASE}.zip"; \
DOWNLOAD_URL="${BASE_URL}/release/${PACKAGE_NAME}"; \
DOWNLOAD_URL="${BASE_URL}/${PACKAGE_NAME}"; \
echo "📥 Downloading specific release version: ${PACKAGE_NAME}"; \
fi && \
echo "🔗 Download URL: ${DOWNLOAD_URL}" && \
@@ -71,7 +59,6 @@ FROM alpine:latest
# Set build arguments and labels
ARG RELEASE=latest
ARG CHANNEL=release
ARG BUILD_DATE
ARG VCS_REF
@@ -80,7 +67,6 @@ LABEL name="RustFS" \
maintainer="RustFS Team <dev@rustfs.com>" \
version="${RELEASE}" \
release="${RELEASE}" \
channel="${CHANNEL}" \
build-date="${BUILD_DATE}" \
vcs-ref="${VCS_REF}" \
summary="RustFS is a high-performance distributed object storage system written in Rust, compatible with S3 API." \