Skip to content

ci(macOS): include workflow file hash in DerivedData cache key #66

@Mx-Iris

Description

@Mx-Iris

Context

The Cache SymbolTests DerivedData step in .github/workflows/macOS.yml keys on:

```
key: symboltests-${{ matrix.xcode-version }}-${{ hashFiles('Tests/Projects/SymbolTests//*.swift', 'Tests/Projects/SymbolTests//*.pbxproj') }}
```

It does not include the workflow file itself. PR #65 added several new `xcodebuild` build-setting overrides (`CODE_SIGNING_ALLOWED=NO`, `ARCHS=arm64`) that affect the produced framework. If a future change adds or removes one of these overrides without bumping the Xcode pin or touching SymbolTests sources, the cache key stays the same and a stale cached artifact will be reused.

Suggested fix

Add the workflow file to the hash inputs:

```yaml
key: symboltests-${{ matrix.xcode-version }}-${{ hashFiles('.github/workflows/macOS.yml', 'Tests/Projects/SymbolTests//*.swift', 'Tests/Projects/SymbolTests//*.pbxproj') }}
```

Priority

Low — current build-setting overrides are stable; the risk only materializes when someone modifies them.

Source

Code review on PR #65 (post-merge follow-up).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions