Skip to content

Conversation

@kukushechkin
Copy link
Contributor

@kukushechkin kukushechkin commented Dec 10, 2025

Extract macOS benchmarks into a separate reusable workflow to completely remove them if they are not meant to be used.

Motivation:

macOS Benchmarks is an opt-in workflow. If no macOS versions selected to run benchmarks on, there is now a skipped matrix jobs, creating unnecessary visual and cognitive noise during workflow results analysis:

Screenshot 2025-12-10 at 14 22 50

Modifications:

macOS benchmarks workflow is extracted into a separate reusable workflow.

Result:

  • If a repo is not running macOS benchmarks, there is no extra skipped jobs.
  • When willing to run macOS benchmarks, macos_benchmarks.yml workflow should be used.
  • This is a breaking change in the reusable workflows interface, so all the repos (just the swift-log?) need to adopt the new reusable workflow.

Test runs:

@kukushechkin kukushechkin added the semver/none No version bump required. label Dec 10, 2025
@kukushechkin kukushechkin merged commit 27146d4 into apple:main Dec 11, 2025
56 checks passed
@kukushechkin kukushechkin deleted the extract-macos-benchmarks-into-a-separate-workflow branch December 11, 2025 11:31
kukushechkin added a commit to apple/swift-log that referenced this pull request Dec 11, 2025
Depends on apple/swift-nio#3461, which is not
yet merged

### Motivation:

`swift-nio` now has 2 separate workflows for running benchmarks on Linux
and macOS to remove unnecessary noise of skipped macOS benchmarks, see
[`swift-nio` PR](apple/swift-nio#3461) for
details.

### Modifications:

Split Linux and macOS benchmarks into different jobs.

### Result:

Linux and macOS benchmarks are running as different jobs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver/none No version bump required.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants