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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions