From 8dd273154db8a5974cbbbf35d12072c96074c8a5 Mon Sep 17 00:00:00 2001 From: andybrown668 Date: Thu, 25 Jun 2026 13:24:55 +0000 Subject: [PATCH] ci: switch workflows to self-hosted lab runners Replace ubicloud-standard-2/4 with [self-hosted, lab-small/lab-large] so CI jobs run on the lab fleet instead of Ubicloud. Co-authored-by: Cursor --- .github/workflows/audit.yml | 4 ++-- .github/workflows/build.yml | 22 +++++++++++----------- .github/workflows/ci.yml | 12 ++++++------ .github/workflows/docker.yml | 6 +++--- .github/workflows/e2e-s3tests.yml | 4 ++-- .github/workflows/helm-package.yml | 4 ++-- .github/workflows/issue-translator.yml | 2 +- .github/workflows/performance.yml | 4 ++-- 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index ade2e6930f..69ea733c04 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -40,7 +40,7 @@ env: jobs: security-audit: name: Security Audit - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] timeout-minutes: 15 steps: - name: Checkout repository @@ -65,7 +65,7 @@ jobs: dependency-review: name: Dependency Review - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] if: github.event_name == 'pull_request' permissions: contents: read diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d0d241f0d6..7dc7bb3204 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -73,7 +73,7 @@ jobs: # Build strategy check - determine build type based on trigger build-check: name: Build Strategy Check - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] outputs: should_build: ${{ steps.check.outputs.should_build }} build_type: ${{ steps.check.outputs.build_type }} @@ -146,7 +146,7 @@ jobs: # Build RustFS binaries prepare-platform-matrix: name: Prepare Platform Matrix - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] outputs: matrix: ${{ steps.select.outputs.matrix }} selected: ${{ steps.select.outputs.selected }} @@ -164,10 +164,10 @@ jobs: fi all='{"include":[ - {"target_id":"linux-x86_64-musl","os":"ubicloud-standard-2","target":"x86_64-unknown-linux-musl","cross":false,"platform":"linux","rustflags":""}, - {"target_id":"linux-aarch64-musl","os":"ubicloud-standard-2","target":"aarch64-unknown-linux-musl","cross":true,"platform":"linux","rustflags":""}, - {"target_id":"linux-x86_64-gnu","os":"ubicloud-standard-2","target":"x86_64-unknown-linux-gnu","cross":false,"platform":"linux","rustflags":""}, - {"target_id":"linux-aarch64-gnu","os":"ubicloud-standard-2","target":"aarch64-unknown-linux-gnu","cross":true,"platform":"linux","rustflags":""}, + {"target_id":"linux-x86_64-musl","os":["self-hosted","lab-small"],"target":"x86_64-unknown-linux-musl","cross":false,"platform":"linux","rustflags":""}, + {"target_id":"linux-aarch64-musl","os":["self-hosted","lab-small"],"target":"aarch64-unknown-linux-musl","cross":true,"platform":"linux","rustflags":""}, + {"target_id":"linux-x86_64-gnu","os":["self-hosted","lab-small"],"target":"x86_64-unknown-linux-gnu","cross":false,"platform":"linux","rustflags":""}, + {"target_id":"linux-aarch64-gnu","os":["self-hosted","lab-small"],"target":"aarch64-unknown-linux-gnu","cross":true,"platform":"linux","rustflags":""}, {"target_id":"macos-aarch64","os":"macos-latest","target":"aarch64-apple-darwin","cross":false,"platform":"macos","rustflags":""}, {"target_id":"macos-x86_64","os":"macos-15-intel","target":"x86_64-apple-darwin","cross":false,"platform":"macos","rustflags":""}, {"target_id":"windows-x86_64","os":"windows-latest","target":"x86_64-pc-windows-msvc","cross":false,"platform":"windows","rustflags":""} @@ -555,7 +555,7 @@ jobs: name: Build Summary needs: [ build-check, build-rustfs ] if: always() && needs.build-check.outputs.should_build == 'true' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] steps: - name: Build completion summary shell: bash @@ -607,7 +607,7 @@ jobs: name: Create GitHub Release needs: [ build-check, build-rustfs ] if: startsWith(github.ref, 'refs/tags/') && needs.build-check.outputs.build_type != 'development' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] permissions: contents: write outputs: @@ -693,7 +693,7 @@ jobs: name: Upload Release Assets needs: [ build-check, build-rustfs, create-release ] if: startsWith(github.ref, 'refs/tags/') && needs.build-check.outputs.build_type != 'development' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] permissions: contents: write actions: read @@ -774,7 +774,7 @@ jobs: name: Update Latest Version needs: [ build-check, upload-release-assets ] if: startsWith(github.ref, 'refs/tags/') - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] steps: - name: Update latest.json env: @@ -824,7 +824,7 @@ jobs: name: Publish Release needs: [ build-check, create-release, upload-release-assets ] if: startsWith(github.ref, 'refs/tags/') && needs.build-check.outputs.build_type != 'development' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] permissions: contents: write steps: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 90d39b1ecd..3959982991 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,7 +78,7 @@ jobs: permissions: actions: write contents: read - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] outputs: should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: @@ -95,7 +95,7 @@ jobs: name: Typos needs: skip-check if: needs.skip-check.outputs.should_skip != 'true' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] steps: - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable @@ -106,7 +106,7 @@ jobs: name: Test and Lint needs: skip-check if: needs.skip-check.outputs.should_skip != 'true' - runs-on: ubicloud-standard-4 + runs-on: [self-hosted, lab-large] timeout-minutes: 60 env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" @@ -143,7 +143,7 @@ jobs: name: Build RustFS Debug Binary needs: skip-check if: needs.skip-check.outputs.should_skip != 'true' - runs-on: ubicloud-standard-4 + runs-on: [self-hosted, lab-large] timeout-minutes: 30 env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" @@ -176,7 +176,7 @@ jobs: name: End-to-End Tests needs: [ skip-check, build-rustfs-debug-binary ] if: needs.skip-check.outputs.should_skip != 'true' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] timeout-minutes: 30 steps: - name: Checkout repository @@ -223,7 +223,7 @@ jobs: name: S3 Implemented Tests needs: [ skip-check, build-rustfs-debug-binary ] if: needs.skip-check.outputs.should_skip != 'true' - runs-on: ubicloud-standard-4 + runs-on: [self-hosted, lab-large] timeout-minutes: 60 steps: - name: Checkout repository diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a5841045c3..d33fbfd2a5 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -73,7 +73,7 @@ jobs: # Check if we should build Docker images build-check: name: Docker Build Check - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] outputs: should_build: ${{ steps.check.outputs.should_build }} should_push: ${{ steps.check.outputs.should_push }} @@ -263,7 +263,7 @@ jobs: name: Build Docker Images needs: build-check if: needs.build-check.outputs.should_build == 'true' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] timeout-minutes: 60 strategy: fail-fast: false @@ -421,7 +421,7 @@ jobs: name: Docker Build Summary needs: [ build-check, build-docker ] if: always() && needs.build-check.outputs.should_build == 'true' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] steps: - name: Docker build completion summary run: | diff --git a/.github/workflows/e2e-s3tests.yml b/.github/workflows/e2e-s3tests.yml index 06b696abc1..a2cc0353cd 100644 --- a/.github/workflows/e2e-s3tests.yml +++ b/.github/workflows/e2e-s3tests.yml @@ -63,7 +63,7 @@ defaults: jobs: s3tests-single: if: github.event.inputs['test-mode'] == 'single' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] timeout-minutes: 120 steps: - uses: actions/checkout@v6 @@ -225,7 +225,7 @@ jobs: s3tests-multi: if: github.event_name == 'workflow_dispatch' && github.event.inputs['test-mode'] == 'multi' - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] timeout-minutes: 150 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/helm-package.yml b/.github/workflows/helm-package.yml index d0b2e6f110..93a9a88c14 100644 --- a/.github/workflows/helm-package.yml +++ b/.github/workflows/helm-package.yml @@ -31,7 +31,7 @@ permissions: jobs: build-helm-package: - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] if: | github.event_name == 'workflow_dispatch' || ( @@ -99,7 +99,7 @@ jobs: retention-days: 1 publish-helm-package: - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] needs: [ build-helm-package ] if: needs.build-helm-package.result == 'success' diff --git a/.github/workflows/issue-translator.yml b/.github/workflows/issue-translator.yml index b3c9d2062d..65e7d2fd10 100644 --- a/.github/workflows/issue-translator.yml +++ b/.github/workflows/issue-translator.yml @@ -25,7 +25,7 @@ permissions: jobs: build: - runs-on: ubicloud-standard-4 + runs-on: [self-hosted, lab-large] steps: - uses: usthe/issues-translate-action@v2.7 with: diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index 8f0b15152b..3bc4fcbde5 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -40,7 +40,7 @@ env: jobs: performance-profile: name: Performance Profiling - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] timeout-minutes: 30 env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" @@ -117,7 +117,7 @@ jobs: benchmark: name: Benchmark Tests - runs-on: ubicloud-standard-2 + runs-on: [self-hosted, lab-small] timeout-minutes: 45 env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"