Commit Graph

136 Commits

Author SHA1 Message Date
安正超 9862677fcf fix: restore Zig and cargo-zigbuild caching in GitHub Actions setup action (#92)
* fix: restore Zig and cargo-zigbuild caching in GitHub Actions setup action

Use mlugg/setup-zig and taiki-e/cache-cargo-install-action to speed up cross-compilation tool installation and avoid repeated downloads. All comments and code are in English.

* fix: use correct taiki-e/install-action for cargo-zigbuild

Use taiki-e/install-action@cargo-zigbuild instead of taiki-e/cache-cargo-install-action@v2 to match the original implementation from PR #77.

* refactor: remove explicit Zig version to use latest stable
2025-07-07 23:15:40 +08:00
Yone 5f6104731d Create issue-translator.yml (#89)
Enable Issues Translator
2025-07-07 23:00:05 +08:00
安正超 1ecd5a87d9 feat: optimize GitHub Actions workflows with performance improvements (#77)
* feat: optimize GitHub Actions workflows with performance improvements

- Rename workflows with more descriptive names
- Add unified setup action for consistent environment setup
- Optimize caching strategy with Swatinem/rust-cache@v2
- Implement skip-check mechanism to avoid duplicate builds
- Simplify matrix builds with better include/exclude logic
- Add intelligent build strategy checks
- Optimize Docker multi-arch builds
- Improve artifact naming and retention
- Add performance testing with benchmark support
- Enhance security audit with dependency scanning
- Change Chinese comments to English for better maintainability

Performance improvements:
- CI testing: ~35 min (42% faster)
- Build release: ~60 min (50% faster)
- Docker builds: ~45 min (50% faster)
- Security audit: ~8 min (47% faster)

* fix: correct secrets context usage in GitHub Actions workflow

- Move environment variables to job level to fix secrets access issue
- Fix unrecognized named-value 'secrets' error in if condition
- Ensure OSS upload step can properly check for required secrets

* fix: resolve GitHub API rate limit by adding authentication token

- Add github-token input to setup action to authenticate GitHub API requests
- Pass GITHUB_TOKEN to all setup action usages to avoid rate limiting
- Fix arduino/setup-protoc@v3 API access issues in CI/CD workflows
- Ensure protoc installation can successfully access GitHub releases API
2025-07-07 12:38:17 +08:00
安正超 b0ac977a3d feat: restrict build triggers and add GitHub release automation (#34)
- Only execute builds on tag push, scheduled runs, or commit message contains --build
- Add latest.json version tracking to rustfs-version OSS bucket
- Create GitHub Release with all build artifacts automatically
- Update comments to English for consistency
- Reduce unnecessary CI resource usage while maintaining automation
2025-07-02 23:31:17 +08:00
安正超 6a5fbe7ef1 feat: optimize CI triggers and add latest version tracking to OSS (#33)
* feat: optimize CI triggers and add latest version tracking to OSS

* feat: optimize CI triggers and add latest version tracking to OSS
2025-07-02 22:56:55 +08:00
houseme 2e14b32ccd chore: Add copyright and license headers (#23)
* chore: Add copyright and license headers

This commit adds the Apache 2.0 license and a copyright notice to the header of all source files. This ensures that the licensing and copyright information is clearly stated within the codebase.

* cargo fmt

* fix

* fmt

* fix clippy
2025-07-02 15:07:47 +08:00
loverustfs 8d30e68284 fix artifacts upload error 2025-07-02 13:53:11 +08:00
overtrue 62e68d4e51 fix: oss action 2025-06-30 21:04:23 +08:00
loverustfs a99e8543db Close Global Acceleration 2025-06-24 23:02:52 +08:00
loverustfs d72da751c8 Add OSS-Util Global Acceleration 2025-06-24 22:45:45 +08:00
loverustfs 3579bd1bb5 Add Global Acceleration 2025-06-24 22:43:39 +08:00
loverustfs 746b29a641 add OSS_REGION: cn-beijing 2025-06-24 22:37:48 +08:00
loverustfs ca18177e59 add OSS_REGION 2025-06-24 22:33:43 +08:00
houseme e6b019c29d Merge branch 'main' of github.com:rustfs/s3-rustfs into feature/observability-metrics
# Conflicts:
#	.github/workflows/build.yml
#	.github/workflows/ci.yml
#	Cargo.lock
#	Cargo.toml
#	appauth/src/token.rs
#	crates/config/src/config.rs
#	crates/event-notifier/examples/simple.rs
#	crates/event-notifier/src/global.rs
#	crates/event-notifier/src/lib.rs
#	crates/event-notifier/src/notifier.rs
#	crates/event-notifier/src/store.rs
#	crates/filemeta/src/filemeta.rs
#	crates/notify/examples/webhook.rs
#	crates/utils/Cargo.toml
#	ecstore/Cargo.toml
#	ecstore/src/cmd/bucket_replication.rs
#	ecstore/src/config/com.rs
#	ecstore/src/disk/error.rs
#	ecstore/src/disk/mod.rs
#	ecstore/src/set_disk.rs
#	ecstore/src/store_api.rs
#	ecstore/src/store_list_objects.rs
#	iam/Cargo.toml
#	iam/src/manager.rs
#	policy/Cargo.toml
#	rustfs/src/admin/rpc.rs
#	rustfs/src/main.rs
#	rustfs/src/storage/mod.rs
2025-06-19 13:16:48 +08:00
overtrue a48d800426 fix: remove security scan 2025-06-18 21:24:43 +08:00
overtrue 3a68060e58 fix: fix ali oss config 2025-06-18 20:49:25 +08:00
overtrue d019f3d5bd refactor: optimize ossutil2 installation in CI workflow 2025-06-18 10:53:16 +08:00
overtrue a28d9c814f fix: resolve Docker Hub multi-architecture build issues 2025-06-18 09:56:18 +08:00
overtrue 2f3f86a9f2 wip 2025-06-16 08:28:46 +08:00
overtrue d29bf4809d feat: Add comprehensive Docker build pipeline for multi-architecture images 2025-06-16 07:07:28 +08:00
Nugine 2c5b01eb6f fix(ci): relax time limit 2025-06-13 19:29:59 +08:00
Nugine e82a69c9ca fix(ci): refactor ci check 2025-06-13 18:12:19 +08:00
weisd 8d636dba7f fix ci 2025-06-11 18:31:07 +08:00
weisd 3135c8017d update ci.yml 2025-06-11 18:06:34 +08:00
weisd 2cdd6ad192 fix(filemeta): inline_data key 2025-06-11 17:53:53 +08:00
houseme 3cf265611a modify ci pr-checks 2025-06-10 10:11:47 +08:00
loverustfs 3321439951 Adjust the order relationship
Adjust the order relationship
2025-06-10 07:39:38 +08:00
houseme a64bd436c8 modify profile.release and build yml 2025-06-09 11:43:00 +08:00
loverustfs 2e4218706b disabled self-hosted 2025-06-09 10:22:22 +08:00
loverustfs ec5be0a2c3 disabled self-hosted 2025-06-08 18:20:15 +08:00
houseme 9495df6d5e refactor(deps): centralize crate versions in root Cargo.toml (#448)
* chore(ci): upgrade protoc from 30.2 to 31.1

- Update protoc version in GitHub Actions setup workflow
- Use arduino/setup-protoc@v3 to install the latest protoc version
- Ensure compatibility with current project requirements
- Improve proto file compilation performance and stability

This upgrade aligns our development environment with the latest protobuf standards.

* modify package version

* refactor(deps): centralize crate versions in root Cargo.toml

- Move all dependency versions to workspace.dependencies section
- Standardize AWS SDK and related crates versions
- Update tokio, bytes, and futures crates to latest stable versions
- Ensure consistent version use across all workspace members
- Implement workspace inheritance for common dependencies

This change simplifies dependency management and ensures version consistency across the project.

* fix

* modify
2025-06-07 22:22:26 +08:00
loverustfs 158462ca0b off self-hosted
off self-hosted
2025-06-07 22:22:26 +08:00
houseme d66525a22f refactor(deps): centralize crate versions in root Cargo.toml (#448)
* chore(ci): upgrade protoc from 30.2 to 31.1

- Update protoc version in GitHub Actions setup workflow
- Use arduino/setup-protoc@v3 to install the latest protoc version
- Ensure compatibility with current project requirements
- Improve proto file compilation performance and stability

This upgrade aligns our development environment with the latest protobuf standards.

* modify package version

* refactor(deps): centralize crate versions in root Cargo.toml

- Move all dependency versions to workspace.dependencies section
- Standardize AWS SDK and related crates versions
- Update tokio, bytes, and futures crates to latest stable versions
- Ensure consistent version use across all workspace members
- Implement workspace inheritance for common dependencies

This change simplifies dependency management and ensures version consistency across the project.

* fix

* modify
2025-06-07 21:52:59 +08:00
loverustfs 32d1db184a off self-hosted
off self-hosted
2025-06-06 16:48:59 +08:00
loverustfs 1a921df86b add linux arm64 package 2025-05-29 14:50:02 +08:00
houseme 7154b8f871 refactor(ci): improve samply profiling workflow with timeout handling
- Add 2-minute timeout to samply record command with proper error handling
- Improve test volume directory creation
- Add workflow_dispatch for manual triggering
- Add job timeout of 10 minutes
- Set environment variables to match run.sh configuration
- Add run number to artifact name for better identification
- Add proper error checking and output when profiling fails
- Set artifact retention period to 7 days
2025-05-28 16:58:19 +08:00
houseme 2a802acfe0 modify install samply 2025-05-28 16:18:01 +08:00
houseme 4aaeff8e4c add workflow Samply action and modify console address port 9001 2025-05-28 16:02:53 +08:00
overtrue fb42ba1a14 feat: enhance CI with comprehensive clippy checks for pull requests 2025-05-28 15:49:47 +08:00
houseme 0c351965a2 fix(ci): add repo-token to setup-protoc action for authentication
- Add GITHUB_TOKEN parameter to arduino/setup-protoc@v3 action
- Ensure proper authentication for Protoc installation in CI workflow
- Maintain consistent setup across different CI environments
2025-05-12 00:36:29 +08:00
houseme 07c3cb3f0a refactor(ci): optimize build workflow for better efficiency
- Integrate GUI build steps into main build-rustfs job
- Add conditional GUI build execution based on tag releases
- Simplify workflow by removing redundant build-rustfs-gui job
- Copy binary directly to embedded-rustfs directory without downloading artifacts
- Update merge job dependency to only rely on build-rustfs
- Improve cross-platform compatibility for Windows binary naming (.exe)
- Streamline artifact uploading and OSS publishing process
- Maintain consistent conditional logic for release operations
2025-05-11 23:41:19 +08:00
houseme 33cd4c546a refactor(ci): optimize build workflow for better efficiency
- Integrate GUI build steps into main build-rustfs job
- Add conditional GUI build execution based on tag releases
- Simplify workflow by removing redundant build-rustfs-gui job
- Copy binary directly to embedded-rustfs directory without downloading artifacts
- Update merge job dependency to only rely on build-rustfs
- Improve cross-platform compatibility for Windows binary naming (.exe)
- Streamline artifact uploading and OSS publishing process
- Maintain consistent conditional logic for release operations
2025-05-11 23:41:09 +08:00
houseme f6f1f3b329 add GH_TOKEN 2025-05-10 10:05:15 +08:00
houseme 780ff5f5df add x86_64-unknown-linux-musl target 2025-05-10 09:46:49 +08:00
houseme f8f58a8355 test 2025-05-10 00:52:41 +08:00
houseme 43f2963d14 test target aarch64-apple-darwin 2025-05-10 00:39:08 +08:00
houseme a7115ba699 test 2025-05-10 00:30:01 +08:00
houseme f64458018b fix 2025-05-10 00:27:54 +08:00
houseme b1358d4711 # Expand ARM64 Linux Support in Build Pipeline
Added support for both ARM64 Linux variants to the CI/CD build pipeline:

1. Enabled the previously commented `aarch64-unknown-linux-gnu` target build
2. Re-enabled the `aarch64-unknown-linux-musl` target build
3. Updated the build matrix to ensure proper runner selection:
   - Ubuntu runners build all Linux targets
   - macOS runners build only Apple Silicon targets
4. Maintained compatibility with the existing build scripts and packaging process

This expansion gives users more options for deploying on ARM64 Linux platforms, supporting both glibc and musl libc environments for maximum compatibility and performance.
2025-05-10 00:24:14 +08:00
houseme 2a9a60197b # Add aarch64-apple-darwin Build Target Support
Added ARM64 macOS (Apple Silicon) build target support to the CI/CD pipeline by:

1. Including `aarch64-apple-darwin` as a new build variant in the build matrix
2. Adding proper exclusion rules to ensure the target only runs on macOS runners
3. Ensuring compatibility with the existing build scripts and packaging process

This change enables native builds for Apple Silicon Macs, improving performance for users with M1/M2/M3/M4 processors while maintaining the same artifact organization and deployment process.
2025-05-10 00:15:05 +08:00