mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-27 15:17:38 +00:00
Fix iOS CI and enable test execution
- Fix test file paths in Xcode project (remove doubled VibeTunnelTests prefix) - Fix TestFixtures to match ServerConfig initializer signature - Re-enable iOS test execution in CI workflow - Add proper test results artifact upload
This commit is contained in:
parent
3864212239
commit
f05ca0fde0
3 changed files with 37 additions and 35 deletions
28
.github/workflows/ios.yml
vendored
28
.github/workflows/ios.yml
vendored
|
|
@ -204,23 +204,27 @@ jobs:
|
||||||
- name: Run iOS tests
|
- name: Run iOS tests
|
||||||
run: |
|
run: |
|
||||||
cd ios
|
cd ios
|
||||||
echo "Running iOS tests..."
|
echo "Running iOS tests on simulator..."
|
||||||
# TODO: The run-tests.sh script needs adjustments for CI environment
|
# First, list available simulators
|
||||||
# For now, just verify tests can be built
|
xcrun simctl list devices available | grep iPhone | head -5
|
||||||
echo "Building test targets..."
|
|
||||||
xcodebuild build-for-testing \
|
# Run tests with a more flexible destination
|
||||||
|
xcodebuild test \
|
||||||
-project VibeTunnel.xcodeproj \
|
-project VibeTunnel.xcodeproj \
|
||||||
-scheme VibeTunnel \
|
-scheme VibeTunnel \
|
||||||
-destination "platform=iOS Simulator,name=iPhone 16 Pro" \
|
-destination "platform=iOS Simulator,name=iPhone 16 Pro" \
|
||||||
-configuration Debug \
|
-configuration Debug \
|
||||||
|
-derivedDataPath build/DerivedData \
|
||||||
|
-resultBundlePath TestResults.xcresult \
|
||||||
-quiet || {
|
-quiet || {
|
||||||
echo "::error::Failed to build iOS tests"
|
echo "::error::iOS tests failed"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
echo "::warning::iOS test execution temporarily disabled - tests built successfully"
|
|
||||||
|
|
||||||
- name: Upload test logs on failure
|
- name: Upload test results
|
||||||
if: failure()
|
uses: actions/upload-artifact@v4
|
||||||
run: |
|
if: always()
|
||||||
echo "Tests failed. Check the logs above for details."
|
with:
|
||||||
# Swift Testing doesn't produce xcresult bundles with run-tests.sh
|
name: ios-test-results
|
||||||
|
path: ios/TestResults.xcresult
|
||||||
|
retention-days: 7
|
||||||
|
|
@ -41,28 +41,28 @@
|
||||||
/* End PBXContainerItemProxy section */
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
1D852A5C2BBD22D92B578BFE /* PerformanceTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PerformanceTests.swift; path = VibeTunnelTests/PerformanceTests.swift; sourceTree = "<group>"; };
|
1D852A5C2BBD22D92B578BFE /* PerformanceTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PerformanceTests.swift; path = PerformanceTests.swift; sourceTree = "<group>"; };
|
||||||
210B160CA1C5185A85EE359C /* EdgeCaseTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EdgeCaseTests.swift; path = VibeTunnelTests/EdgeCaseTests.swift; sourceTree = "<group>"; };
|
210B160CA1C5185A85EE359C /* EdgeCaseTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EdgeCaseTests.swift; path = EdgeCaseTests.swift; sourceTree = "<group>"; };
|
||||||
216D52E392D8F0CDC6358BB8 /* VibeTunnel.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VibeTunnel.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
216D52E392D8F0CDC6358BB8 /* VibeTunnel.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VibeTunnel.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
26508D4774F932BE603A3A92 /* ServerConfigTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerConfigTests.swift; path = VibeTunnelTests/Models/ServerConfigTests.swift; sourceTree = "<group>"; };
|
26508D4774F932BE603A3A92 /* ServerConfigTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerConfigTests.swift; path = Models/ServerConfigTests.swift; sourceTree = "<group>"; };
|
||||||
31BCE90BB6113D30ABBD29B2 /* APIErrorTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = APIErrorTests.swift; path = VibeTunnelTests/APIErrorTests.swift; sourceTree = "<group>"; };
|
31BCE90BB6113D30ABBD29B2 /* APIErrorTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = APIErrorTests.swift; path = APIErrorTests.swift; sourceTree = "<group>"; };
|
||||||
36DEB689EB0358B8710343B9 /* FileSystemTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FileSystemTests.swift; path = VibeTunnelTests/FileSystemTests.swift; sourceTree = "<group>"; };
|
36DEB689EB0358B8710343B9 /* FileSystemTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FileSystemTests.swift; path = FileSystemTests.swift; sourceTree = "<group>"; };
|
||||||
5C009651579E8C0E4ADD20DC /* APIClientTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = APIClientTests.swift; path = VibeTunnelTests/Services/APIClientTests.swift; sourceTree = "<group>"; };
|
5C009651579E8C0E4ADD20DC /* APIClientTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = APIClientTests.swift; path = Services/APIClientTests.swift; sourceTree = "<group>"; };
|
||||||
64175D4F50D00AA004E41143 /* VibeTunnelTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VibeTunnelTests.swift; path = VibeTunnelTests/VibeTunnelTests.swift; sourceTree = "<group>"; };
|
64175D4F50D00AA004E41143 /* VibeTunnelTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = VibeTunnelTests.swift; path = VibeTunnelTests.swift; sourceTree = "<group>"; };
|
||||||
651BDD47248F3D9D55994B3E /* VibeTunnelTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VibeTunnelTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
651BDD47248F3D9D55994B3E /* VibeTunnelTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VibeTunnelTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
778FE49DC79E8514CD11A94F /* MockWebSocketTask.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MockWebSocketTask.swift; path = VibeTunnelTests/Mocks/MockWebSocketTask.swift; sourceTree = "<group>"; };
|
778FE49DC79E8514CD11A94F /* MockWebSocketTask.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MockWebSocketTask.swift; path = Mocks/MockWebSocketTask.swift; sourceTree = "<group>"; };
|
||||||
7C27ECCFC47CD72452A9FD3E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
|
7C27ECCFC47CD72452A9FD3E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
|
||||||
A118F0B3208513EEF0373B69 /* TerminalParsingTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TerminalParsingTests.swift; path = VibeTunnelTests/TerminalParsingTests.swift; sourceTree = "<group>"; };
|
A118F0B3208513EEF0373B69 /* TerminalParsingTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TerminalParsingTests.swift; path = TerminalParsingTests.swift; sourceTree = "<group>"; };
|
||||||
AB3C38909F88E2D50282BC51 /* WebSocketReconnectionTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocketReconnectionTests.swift; path = VibeTunnelTests/WebSocketReconnectionTests.swift; sourceTree = "<group>"; };
|
AB3C38909F88E2D50282BC51 /* WebSocketReconnectionTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocketReconnectionTests.swift; path = WebSocketReconnectionTests.swift; sourceTree = "<group>"; };
|
||||||
B38BEE7FE833B6FDC3A56BCE /* TestFixtures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TestFixtures.swift; path = VibeTunnelTests/Utilities/TestFixtures.swift; sourceTree = "<group>"; };
|
B38BEE7FE833B6FDC3A56BCE /* TestFixtures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TestFixtures.swift; path = Utilities/TestFixtures.swift; sourceTree = "<group>"; };
|
||||||
B7FB8482C0055D3A8D80EE21 /* AuthenticationTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationTests.swift; path = VibeTunnelTests/AuthenticationTests.swift; sourceTree = "<group>"; };
|
B7FB8482C0055D3A8D80EE21 /* AuthenticationTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationTests.swift; path = AuthenticationTests.swift; sourceTree = "<group>"; };
|
||||||
C90343824B8E77C08ECFC3B1 /* BufferWebSocketClientTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferWebSocketClientTests.swift; path = VibeTunnelTests/Services/BufferWebSocketClientTests.swift; sourceTree = "<group>"; };
|
C90343824B8E77C08ECFC3B1 /* BufferWebSocketClientTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferWebSocketClientTests.swift; path = Services/BufferWebSocketClientTests.swift; sourceTree = "<group>"; };
|
||||||
CCEB1F27FFC1C75B53ED3EE5 /* MockURLProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MockURLProtocol.swift; path = VibeTunnelTests/Mocks/MockURLProtocol.swift; sourceTree = "<group>"; };
|
CCEB1F27FFC1C75B53ED3EE5 /* MockURLProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MockURLProtocol.swift; path = Mocks/MockURLProtocol.swift; sourceTree = "<group>"; };
|
||||||
D020D89B8296E14F390D9C03 /* TestTags.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TestTags.swift; path = VibeTunnelTests/Utilities/TestTags.swift; sourceTree = "<group>"; };
|
D020D89B8296E14F390D9C03 /* TestTags.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TestTags.swift; path = Utilities/TestTags.swift; sourceTree = "<group>"; };
|
||||||
D6282B1FFEB2C1844BD4BC05 /* SessionTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionTests.swift; path = VibeTunnelTests/Models/SessionTests.swift; sourceTree = "<group>"; };
|
D6282B1FFEB2C1844BD4BC05 /* SessionTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionTests.swift; path = Models/SessionTests.swift; sourceTree = "<group>"; };
|
||||||
DA2D6C604D5F6878F2F6337E /* MockAPIClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MockAPIClient.swift; path = VibeTunnelTests/Mocks/MockAPIClient.swift; sourceTree = "<group>"; };
|
DA2D6C604D5F6878F2F6337E /* MockAPIClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MockAPIClient.swift; path = Mocks/MockAPIClient.swift; sourceTree = "<group>"; };
|
||||||
DFA051A5F108D190542BC035 /* StandaloneTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StandaloneTests.swift; path = VibeTunnelTests/StandaloneTests.swift; sourceTree = "<group>"; };
|
DFA051A5F108D190542BC035 /* StandaloneTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StandaloneTests.swift; path = StandaloneTests.swift; sourceTree = "<group>"; };
|
||||||
EFA3E0BED8017D7540A6B822 /* ConnectionManagerTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectionManagerTests.swift; path = VibeTunnelTests/Services/ConnectionManagerTests.swift; sourceTree = "<group>"; };
|
EFA3E0BED8017D7540A6B822 /* ConnectionManagerTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectionManagerTests.swift; path = Services/ConnectionManagerTests.swift; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
||||||
|
|
|
||||||
|
|
@ -5,16 +5,14 @@ enum TestFixtures {
|
||||||
static let validServerConfig = ServerConfig(
|
static let validServerConfig = ServerConfig(
|
||||||
host: "localhost",
|
host: "localhost",
|
||||||
port: 8_888,
|
port: 8_888,
|
||||||
useSSL: false,
|
name: nil,
|
||||||
username: nil,
|
|
||||||
password: nil
|
password: nil
|
||||||
)
|
)
|
||||||
|
|
||||||
static let sslServerConfig = ServerConfig(
|
static let sslServerConfig = ServerConfig(
|
||||||
host: "example.com",
|
host: "example.com",
|
||||||
port: 443,
|
port: 443,
|
||||||
useSSL: true,
|
name: "Test Server",
|
||||||
username: "testuser",
|
|
||||||
password: "testpass"
|
password: "testpass"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue