From aeef829eb53a94e902a4dd4bb2e1a91261ad4301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Junnos=20=EF=A3=BF?= Date: Thu, 9 Nov 2023 20:20:45 +0900 Subject: [PATCH] =?UTF-8?q?:construction=5Fworker:=20Build=20&=20Test=20CI?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/xcode-test.yml | 21 +++ .../MaybeGamsung.xcodeproj/project.pbxproj | 123 ++++++++++++++++++ .../UserInterfaceState.xcuserstate | Bin 11065 -> 15679 bytes .../MaybeGamsungTests/MaybeGamsungTests.swift | 12 ++ 4 files changed, 156 insertions(+) create mode 100644 .github/workflows/xcode-test.yml create mode 100644 iOS/MaybeGamsung/MaybeGamsungTests/MaybeGamsungTests.swift diff --git a/.github/workflows/xcode-test.yml b/.github/workflows/xcode-test.yml new file mode 100644 index 0000000..db24c2d --- /dev/null +++ b/.github/workflows/xcode-test.yml @@ -0,0 +1,21 @@ +# workflow 의 이름 +name: Xcode Test + +on: + # Epic 브랜치에 push 나 pull request 이벤트가 일어났을때 해당 workflow 를 trigger + push: + branches: [ '**/epic/iOS/**' ] + pull_request: + branches: [ '**/epic/iOS/**' ] + +jobs: + build: + runs-on: macos-latest + + steps: + # uses 키워드를 통해 Github Actions에서 기본으로 제공하는 액션을 사용 가능. 아래 액션은 repository 에 체크아웃하는 것 + - uses: actions/checkout@v2 + # shell 이용해서 하나의 command 수행 + - name: 🛠 Start xcode build + run: | + xcodebuild clean test -project iOS/MaybeGamsung/MaybeGamsung.xcodeproj -scheme MaybeGamsung -destination 'platform=iOS Simulator,name=iPhone 11 Pro,OS=latest' \ No newline at end of file diff --git a/iOS/MaybeGamsung/MaybeGamsung.xcodeproj/project.pbxproj b/iOS/MaybeGamsung/MaybeGamsung.xcodeproj/project.pbxproj index a96a19c..8cf74ee 100644 --- a/iOS/MaybeGamsung/MaybeGamsung.xcodeproj/project.pbxproj +++ b/iOS/MaybeGamsung/MaybeGamsung.xcodeproj/project.pbxproj @@ -16,8 +16,19 @@ DD10AA322AFB874C00F5828A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DD10AA302AFB874C00F5828A /* Main.storyboard */; }; DD10AA342AFB874D00F5828A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DD10AA332AFB874D00F5828A /* Assets.xcassets */; }; DD10AA372AFB874D00F5828A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DD10AA352AFB874D00F5828A /* LaunchScreen.storyboard */; }; + DD10AA452AFCF6FE00F5828A /* MaybeGamsungTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD10AA442AFCF6FE00F5828A /* MaybeGamsungTests.swift */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + DD10AA462AFCF6FE00F5828A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DD10AA1F2AFB874C00F5828A /* Project object */; + proxyType = 1; + remoteGlobalIDString = DD10AA262AFB874C00F5828A; + remoteInfo = MaybeGamsung; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXFileReference section */ 2179E5ED2AFB94D500746FD8 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .swiftlint.yml; sourceTree = ""; }; 2179E5F12AFBA08700746FD8 /* .swiftformat */ = {isa = PBXFileReference; explicitFileType = text.yaml; path = .swiftformat; sourceTree = ""; }; @@ -30,6 +41,8 @@ DD10AA332AFB874D00F5828A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; DD10AA362AFB874D00F5828A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; DD10AA382AFB874D00F5828A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DD10AA422AFCF6FE00F5828A /* MaybeGamsungTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MaybeGamsungTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + DD10AA442AFCF6FE00F5828A /* MaybeGamsungTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MaybeGamsungTests.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -40,6 +53,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DD10AA3F2AFCF6FE00F5828A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -50,6 +70,7 @@ 2179E5F12AFBA08700746FD8 /* .swiftformat */, 2179E5ED2AFB94D500746FD8 /* .swiftlint.yml */, DD10AA292AFB874C00F5828A /* MaybeGamsung */, + DD10AA432AFCF6FE00F5828A /* MaybeGamsungTests */, DD10AA282AFB874C00F5828A /* Products */, ); sourceTree = ""; @@ -58,6 +79,7 @@ isa = PBXGroup; children = ( DD10AA272AFB874C00F5828A /* MaybeGamsung.app */, + DD10AA422AFCF6FE00F5828A /* MaybeGamsungTests.xctest */, ); name = Products; sourceTree = ""; @@ -76,6 +98,14 @@ path = MaybeGamsung; sourceTree = ""; }; + DD10AA432AFCF6FE00F5828A /* MaybeGamsungTests */ = { + isa = PBXGroup; + children = ( + DD10AA442AFCF6FE00F5828A /* MaybeGamsungTests.swift */, + ); + path = MaybeGamsungTests; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -98,6 +128,24 @@ productReference = DD10AA272AFB874C00F5828A /* MaybeGamsung.app */; productType = "com.apple.product-type.application"; }; + DD10AA412AFCF6FE00F5828A /* MaybeGamsungTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = DD10AA4A2AFCF6FE00F5828A /* Build configuration list for PBXNativeTarget "MaybeGamsungTests" */; + buildPhases = ( + DD10AA3E2AFCF6FE00F5828A /* Sources */, + DD10AA3F2AFCF6FE00F5828A /* Frameworks */, + DD10AA402AFCF6FE00F5828A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + DD10AA472AFCF6FE00F5828A /* PBXTargetDependency */, + ); + name = MaybeGamsungTests; + productName = MaybeGamsungTests; + productReference = DD10AA422AFCF6FE00F5828A /* MaybeGamsungTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -111,6 +159,10 @@ DD10AA262AFB874C00F5828A = { CreatedOnToolsVersion = 15.0.1; }; + DD10AA412AFCF6FE00F5828A = { + CreatedOnToolsVersion = 15.0.1; + TestTargetID = DD10AA262AFB874C00F5828A; + }; }; }; buildConfigurationList = DD10AA222AFB874C00F5828A /* Build configuration list for PBXProject "MaybeGamsung" */; @@ -127,6 +179,7 @@ projectRoot = ""; targets = ( DD10AA262AFB874C00F5828A /* MaybeGamsung */, + DD10AA412AFCF6FE00F5828A /* MaybeGamsungTests */, ); }; /* End PBXProject section */ @@ -145,6 +198,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DD10AA402AFCF6FE00F5828A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -199,8 +259,24 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DD10AA3E2AFCF6FE00F5828A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DD10AA452AFCF6FE00F5828A /* MaybeGamsungTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + DD10AA472AFCF6FE00F5828A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DD10AA262AFB874C00F5828A /* MaybeGamsung */; + targetProxy = DD10AA462AFCF6FE00F5828A /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ DD10AA302AFB874C00F5828A /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -406,6 +482,44 @@ }; name = Release; }; + DD10AA482AFCF6FE00F5828A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = B3PWYBKFUK; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcmp8.MaybeGamsungTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MaybeGamsung.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MaybeGamsung"; + }; + name = Debug; + }; + DD10AA492AFCF6FE00F5828A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = B3PWYBKFUK; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = kr.codesquad.boostcmp8.MaybeGamsungTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MaybeGamsung.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MaybeGamsung"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -427,6 +541,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + DD10AA4A2AFCF6FE00F5828A /* Build configuration list for PBXNativeTarget "MaybeGamsungTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DD10AA482AFCF6FE00F5828A /* Debug */, + DD10AA492AFCF6FE00F5828A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = DD10AA1F2AFB874C00F5828A /* Project object */; diff --git a/iOS/MaybeGamsung/MaybeGamsung.xcodeproj/project.xcworkspace/xcuserdata/nomatterjun.xcuserdatad/UserInterfaceState.xcuserstate b/iOS/MaybeGamsung/MaybeGamsung.xcodeproj/project.xcworkspace/xcuserdata/nomatterjun.xcuserdatad/UserInterfaceState.xcuserstate index 59594704230a01268d0c4a121b54a1eee6dcea16..3173b378401353c859532851b7231ca6310e24ab 100644 GIT binary patch literal 15679 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 z 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 delta 5705 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 diff --git a/iOS/MaybeGamsung/MaybeGamsungTests/MaybeGamsungTests.swift b/iOS/MaybeGamsung/MaybeGamsungTests/MaybeGamsungTests.swift new file mode 100644 index 0000000..ce4eb89 --- /dev/null +++ b/iOS/MaybeGamsung/MaybeGamsungTests/MaybeGamsungTests.swift @@ -0,0 +1,12 @@ +// +// MaybeGamsungTests.swift +// MaybeGamsungTests +// +// Created by 이창준 on 11/9/23. +// + +import XCTest + +final class MaybeGamsungTests: XCTestCase { + func testExample() throws {} +}