From 713b322f993ca2bd29a7c65cba0fec1610685597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=89=E6=AD=A3=E8=B6=85?= Date: Tue, 8 Jul 2025 22:49:35 +0800 Subject: [PATCH] feat: enhance build and release workflow with multi-platform support (#113) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: enhance build and release workflow with multi-platform support - Add Windows support (x86_64 and ARM64) to build matrix - Add macOS Intel x86_64 support alongside Apple Silicon - Improve cross-platform builds with proper toolchain selection - Use GitHub CLI (gh) for release management instead of GitHub Actions - Add automatic checksum generation (SHA256/SHA512) for all binaries - Support different archive formats per platform (zip for Windows, tar.gz for Unix) - Add comprehensive release notes with installation guides - Enhanced error handling for console assets download - Platform-specific build information in packages - Support both binary and GUI application releases - Update OSS upload to handle multiple file formats This brings RustFS builds up to enterprise-grade standards with: - 6 binary targets (Linux x86_64/ARM64, macOS x86_64/ARM64, Windows x86_64/ARM64) - Professional release management with checksums - User-friendly installation instructions - Multi-platform GUI applications * feat: add core development principles to cursor rules - Add precision-first development principle: 每次改动都要精准,没把握就别改 - Add GitHub CLI priority rule: GitHub PR 创建优先使用 gh 命令 - Emphasize careful analysis before making changes - Promote use of gh commands for better automation and integration * refactor: translate cursor rules to English - Translate core development principles from Chinese to English - Maintain consistency with project's English-first policy - Update 'Every change must be precise' principle - Update 'GitHub PR creation prioritizes gh command usage' rule - Ensure all cursor rules are in English for better accessibility * fix: prevent workflow changes from triggering CI/CD pipelines - Add .github/** to paths-ignore in build.yml workflow - Add .github/** to paths-ignore in docker.yml workflow - Update skip-duplicate paths_ignore to include .github files - Workflow changes should not trigger performance, build, or docker workflows - Saves unnecessary CI/CD resource usage when updating workflow configurations - Consistent with performance.yml which already ignores .github/** --- .github/workflows/build.yml | 4 +++- .github/workflows/docker.yml | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fc5b5b39..69dcb5e8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,6 +21,7 @@ on: paths-ignore: - "**.md" - "**.txt" + - ".github/**" - "docs/**" - "deploy/**" - "scripts/dev_*.sh" @@ -36,6 +37,7 @@ on: paths-ignore: - "**.md" - "**.txt" + - ".github/**" - "docs/**" - "deploy/**" - "scripts/dev_*.sh" @@ -76,7 +78,7 @@ jobs: with: concurrent_skipping: "same_content_newer" cancel_others: true - paths_ignore: '["*.md", "docs/**", "deploy/**", "scripts/dev_*.sh"]' + paths_ignore: '["*.md", ".github/**", "docs/**", "deploy/**", "scripts/dev_*.sh"]' # Second layer: Business logic level checks (handling build strategy) build-check: diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a8172ca9..2ba9742f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -21,6 +21,7 @@ on: paths-ignore: - "**.md" - "**.txt" + - ".github/**" - "docs/**" - "deploy/**" - "scripts/dev_*.sh" @@ -36,6 +37,7 @@ on: paths-ignore: - "**.md" - "**.txt" + - ".github/**" - "docs/**" - "deploy/**" - "scripts/dev_*.sh"