Quicksilver: Tests fail with cycle in dependencies
Current qsrelease:
Testing failed:
Cycle in dependencies between targets 'Core Support Tests' and 'Bezel Interface'; building could produce unreliable results.
Cycle path: Core Support Tests → Core Support → Core Support Tests → Quicksilver → Quicksilver Tests → Core Support Tests → Bezel Interface → Core Support Tests
Cycle details:
→ Target 'Core Support Tests' has a command with output '/tmp/QS/build/Release/Core Support Tests.xctest/Contents/MacOS/Core Support Tests'
○ Target 'Core Support Tests' has link command with output '/tmp/QS/build/Quicksilver.build/Release/Core Support Tests.build/Objects-normal/arm64/Binary/Core Support Tests'
○ Target 'Core Support Tests' has target dependency on Target 'Core Support'
→ Target 'Core Support' has compile command with input '/Users/n8henrie/git/Quicksilver/Quicksilver/Nibs/QSUserDefinedProxySource.xib'
○ Target 'Core Support' has symlink command from '/tmp/QS/build/Release/Core Support.qsplugin' to '/tmp/QS/build/Release/Quicksilver.app/Contents/PlugIns/Core Support.qsplugin'
→ Target 'Core Support Tests' has target dependency on Target 'Quicksilver'
→ Target 'Quicksilver': CodeSign /tmp/QS/build/Release/Quicksilver.app
→ Target 'Quicksilver Tests' has create directory command with output '/tmp/QS/build/Release/Quicksilver.app/Contents/PlugIns/Quicksilver Tests.xctest'
→ Target 'Core Support Tests' has target dependency on Target 'Bezel Interface'
→ Target 'Bezel Interface' has symlink command from '/tmp/QS/build/Release/Bezel Interface.qsplugin' to '/tmp/QS/build/Release/Quicksilver.app/Contents/PlugIns/Bezel Interface.qsplugin'
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 36 (36 by maintainers)
Commits related to this issue
- Split signing out from qsrelease, fix codesigning Fixes https://github.com/quicksilver/Quicksilver/issues/2654 Issues addressed: - Provides separate GitHub Actions for building and signing (https:/... — committed to quicksilver/Quicksilver by n8henrie 2 years ago
- Split signing out from qsrelease, fix codesigning (#2655) Fixes https://github.com/quicksilver/Quicksilver/issues/2654 Issues addressed: - Provides separate GitHub Actions for building and sign... — committed to quicksilver/Quicksilver by n8henrie 2 years ago
- Remove multiple deps from Quicksilver Tests to fix cycle in dependencies Fixes https://github.com/quicksilver/Quicksilver/issues/2583 Though not sure if it fixes it the right way... — committed to n8henrie/Quicksilver by n8henrie 2 years ago
- Resolve build / test time race condition This seems to resolve a long-time thorn-in-the-side, where XCode fails to build Quicksilver from scratch the first time, then succeeds upon a second (or maybe... — committed to quicksilver/Quicksilver by n8henrie 9 months ago
- Run all tests (#2979) * Really run tests Previously CI was *running* tests but ignoring failures. This change makes the build fail on failures. * Objects can't be equal if they have differing ... — committed to quicksilver/Quicksilver by n8henrie 7 months ago
So looking at
qsrelease, here’s what I’m thinking:We split the ‘test’ and the ‘build’ phases into two separate actions, like I did on the PR here. That way, for future PRs we’ll be able to see instantly if a PR failed because of a build failure or a test failure.
I suggest:
testphase from qsreleaseqstestfor its own github action.I’ve done this over at #2600 and am currently testing