Skip to content

Fix benchmark workflow package identity - #307

Merged
p-x9 merged 1 commit into
mainfrom
feature/fix-benchmark-workflow
Jul 20, 2026
Merged

Fix benchmark workflow package identity#307
p-x9 merged 1 commit into
mainfrom
feature/fix-benchmark-workflow

Conversation

@p-x9

@p-x9 p-x9 commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • check out both benchmark refs under directories named MachOKit
  • update candidate and baseline root variables to match the nested checkout paths
  • invoke the reusable benchmark script from its new candidate path

Root cause

Benchmarks/Package.swift declares the repository with .package(path: "..") and references the product with package: "MachOKit". SwiftPM derives the identity of that local dependency from its directory name. The workflow checked the repository out as candidate and baseline, so the candidate dependency was identified as candidate instead of MachOKit and dependency resolution failed.

Impact

Manual single-ref and comparison benchmark runs can now resolve the local MachOKit package in GitHub Actions without changing the benchmark package manifest.

Validation

  • parsed .github/workflows/benchmark.yml as YAML
  • ran bash -n scripts/benchmark.sh
  • verified all candidate and baseline roots use paths ending in MachOKit
  • ran git diff --check

The workflow still needs to be re-run on GitHub Actions to verify the hosted-runner execution end to end.

@p-x9
p-x9 marked this pull request as ready for review July 20, 2026 15:41
@p-x9
p-x9 requested a review from Copilot July 20, 2026 15:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the GitHub Actions benchmark workflow by ensuring SwiftPM derives the correct local package identity (MachOKit) during benchmark builds, aligning the workflow checkout directory structure with how Benchmarks/Package.swift references the root package via .package(path: "..").

Changes:

  • Check out both candidate and baseline refs into directories named MachOKit (nested under candidate/ and baseline/).
  • Update CANDIDATE_ROOT and BASELINE_ROOT to point at the nested .../MachOKit directories.
  • Invoke the benchmark script using the new nested candidate path.

馃挕 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@p-x9
p-x9 merged commit 38fbeca into main Jul 20, 2026
3 checks passed
@p-x9
p-x9 deleted the feature/fix-benchmark-workflow branch July 20, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants