ci: stop GitHub-hosted runners on automatic workflows - #22
Draft
loverustfs wants to merge 2 commits into
Draft
loverustfs wants to merge 2 commits into
loverustfs wants to merge 2 commits into
Conversation
Move Linux jobs to sm-standard-2 and check upstream daily. Keep macOS and Windows tests and installers manual-only on GitHub-hosted runners. Co-authored-by: RustFS <hello@rustfs.com>
Replace Chinese comments, logs, and docs in the runner change with English. Runner labels, triggers, and test steps stay the same. Co-authored-by: RustFS <hello@rustfs.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
Automatic runs no longer use GitHub-hosted (billed) runners. Linux jobs move to the organization self-hosted label
sm-standard-2. macOS and Windows tests and installers cannot be cross-compiled on Linux into the same results, so they are removed from push, pull_request, schedule, tag, and Release events and kept only onworkflow_dispatch. Test commands and packaging steps are unchanged.The runner group may still need to grant this repository access. If Linux jobs stay queued after merge, allow
rustfs/launcherto usesm-standard-2in the organization's self-hosted runner group.Runner for each job
ci.ymlcheck(Check and Test)ubuntu-latestsm-standard-2(60 minute timeout)mainand pull_request, unchangedci-native.ymltest-native(Windows)windows-lateston push/PRwindows-latest(45 minute timeout)workflow_dispatchonlyci-native.ymltest-native(macOS)macos-lateston push/PRmacos-latest(45 minute timeout)workflow_dispatchonlyupstream-sync.ymlcheck-upstreamubuntu-latest, hourlysm-standard-2(15 minute timeout)upstream-sync.ymltrigger-buildubuntu-latest, and it rangh workflow run build.ymlsm-standard-2(10 minute timeout); it only prints manual-build instructionsbuild.ymlbuild-checkubuntu-latestsm-standard-2(15 minute timeout)workflow_dispatchonlybuild.ymlbuildmacOS Apple Siliconmacos-lateston tag/Releasemacos-latest(120 minute timeout)workflow_dispatchonlybuild.ymlbuildmacOS Intelmacos-15-intelon tag/Releasemacos-15-intel(120 minute timeout)workflow_dispatchonlybuild.ymlbuildWindowswindows-lateston tag/Releasewindows-latest(120 minute timeout)workflow_dispatchonlybuild.ymlupload-release-assetsubuntu-latestsm-standard-2(30 minute timeout)The four rows marked "still" bill GitHub-hosted runners when someone starts that workflow by hand. Push, pull request, schedule, and tag events no longer select those labels.
Why these jobs are not cross-compiled on Linux
cargo clippy,cargo test --no-run, arustc --testbinary fornetwork.rs, and on macOS the fullcargo testsuite. The Windows harness fails to start (STATUS_ENTRYPOINT_NOT_FOUND); that check needs a real Windows runner. Cross-compiling on Linux would not run the same tests.codesignand build a DMG with Tauri (hdiutil). Those tools exist only on macOS.cargo tauri build --bundles nsis, and the artifact step followsrunner.os == 'Windows'into PowerShell. The NSIS/MSVC toolchain on the currentsm-standard-2image cannot reliably produce the same installer.sm-standard-2,sm-standard-4, anddind-sm-standard-2. Checks and compiles here usesm-standard-2.upstream-syncstill creates a git tag when it finds a new version. It no longer callsgh workflow run build.yml, because the daily schedule would otherwise start billed macOS and Windows builds. To publish installers, run Build and Release manually:publishdefaults to false.Verification
actionlintv1.7.12 reports no problems in.github/workflows.checkwill run on GitHub aftersm-standard-2can pick up this repository.