From c6bf084a41d02eecbbbb6c693c8439dcb6b3745e Mon Sep 17 00:00:00 2001 From: TakuKobayashi Date: Wed, 16 Oct 2019 15:34:26 +0900 Subject: [PATCH 01/39] add iOS project. --- .gitignore | 48 +- .../project.pbxproj | 593 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + iOS/github-actions-examples/AppDelegate.swift | 37 ++ .../AppIcon.appiconset/Contents.json | 98 +++ .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 + iOS/github-actions-examples/ContentView.swift | 21 + iOS/github-actions-examples/Info.plist | 60 ++ .../Preview Assets.xcassets/Contents.json | 6 + .../SceneDelegate.swift | 64 ++ iOS/github-actions-examplesTests/Info.plist | 22 + .../github_actions_examplesTests.swift | 34 + iOS/github-actions-examplesUITests/Info.plist | 22 + .../github_actions_examplesUITests.swift | 43 ++ 16 files changed, 1091 insertions(+), 3 deletions(-) create mode 100644 iOS/github-actions-examples.xcodeproj/project.pbxproj create mode 100644 iOS/github-actions-examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iOS/github-actions-examples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iOS/github-actions-examples/AppDelegate.swift create mode 100644 iOS/github-actions-examples/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iOS/github-actions-examples/Assets.xcassets/Contents.json create mode 100644 iOS/github-actions-examples/Base.lproj/LaunchScreen.storyboard create mode 100644 iOS/github-actions-examples/ContentView.swift create mode 100644 iOS/github-actions-examples/Info.plist create mode 100644 iOS/github-actions-examples/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 iOS/github-actions-examples/SceneDelegate.swift create mode 100644 iOS/github-actions-examplesTests/Info.plist create mode 100644 iOS/github-actions-examplesTests/github_actions_examplesTests.swift create mode 100644 iOS/github-actions-examplesUITests/Info.plist create mode 100644 iOS/github-actions-examplesUITests/github_actions_examplesUITests.swift diff --git a/.gitignore b/.gitignore index 4653f2c5..7620011b 100644 --- a/.gitignore +++ b/.gitignore @@ -273,9 +273,51 @@ firebase-debug.log* # .firebaserc **/dist/*.js -webapi.js .cxx -.esbuild/ +# Created by https://www.gitignore.io/api/xcode,xcodeinjection +# Edit at https://www.gitignore.io/?templates=xcode,xcodeinjection -google-services.json \ No newline at end of file +### Xcode ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Xcode Patch +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcworkspace/contents.xcworkspacedata +*.gcno + +### Xcode Patch ### +**/xcshareddata/WorkspaceSettings.xcsettings + +### XcodeInjection ### +# Code Injection +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + +# End of https://www.gitignore.io/api/xcode,xcodeinjection \ No newline at end of file diff --git a/iOS/github-actions-examples.xcodeproj/project.pbxproj b/iOS/github-actions-examples.xcodeproj/project.pbxproj new file mode 100644 index 00000000..c2429fd4 --- /dev/null +++ b/iOS/github-actions-examples.xcodeproj/project.pbxproj @@ -0,0 +1,593 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + FA1A3F6F2356C4AA00A253E8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1A3F6E2356C4AA00A253E8 /* AppDelegate.swift */; }; + FA1A3F712356C4AA00A253E8 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1A3F702356C4AA00A253E8 /* SceneDelegate.swift */; }; + FA1A3F732356C4AA00A253E8 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1A3F722356C4AA00A253E8 /* ContentView.swift */; }; + FA1A3F752356C4AD00A253E8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FA1A3F742356C4AD00A253E8 /* Assets.xcassets */; }; + FA1A3F782356C4AD00A253E8 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FA1A3F772356C4AD00A253E8 /* Preview Assets.xcassets */; }; + FA1A3F7B2356C4AD00A253E8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA1A3F792356C4AD00A253E8 /* LaunchScreen.storyboard */; }; + FA1A3F862356C4AD00A253E8 /* github_actions_examplesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1A3F852356C4AD00A253E8 /* github_actions_examplesTests.swift */; }; + FA1A3F912356C4AD00A253E8 /* github_actions_examplesUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1A3F902356C4AD00A253E8 /* github_actions_examplesUITests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + FA1A3F822356C4AD00A253E8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FA1A3F632356C4AA00A253E8 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FA1A3F6A2356C4AA00A253E8; + remoteInfo = "github-actions-examples"; + }; + FA1A3F8D2356C4AD00A253E8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FA1A3F632356C4AA00A253E8 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FA1A3F6A2356C4AA00A253E8; + remoteInfo = "github-actions-examples"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + FA1A3F6B2356C4AA00A253E8 /* github-actions-examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "github-actions-examples.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + FA1A3F6E2356C4AA00A253E8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + FA1A3F702356C4AA00A253E8 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + FA1A3F722356C4AA00A253E8 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + FA1A3F742356C4AD00A253E8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + FA1A3F772356C4AD00A253E8 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + FA1A3F7A2356C4AD00A253E8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + FA1A3F7C2356C4AD00A253E8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FA1A3F812356C4AD00A253E8 /* github-actions-examplesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "github-actions-examplesTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + FA1A3F852356C4AD00A253E8 /* github_actions_examplesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = github_actions_examplesTests.swift; sourceTree = ""; }; + FA1A3F872356C4AD00A253E8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FA1A3F8C2356C4AD00A253E8 /* github-actions-examplesUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "github-actions-examplesUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + FA1A3F902356C4AD00A253E8 /* github_actions_examplesUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = github_actions_examplesUITests.swift; sourceTree = ""; }; + FA1A3F922356C4AD00A253E8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + FA1A3F682356C4AA00A253E8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA1A3F7E2356C4AD00A253E8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA1A3F892356C4AD00A253E8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + FA1A3F622356C4AA00A253E8 = { + isa = PBXGroup; + children = ( + FA1A3F6D2356C4AA00A253E8 /* github-actions-examples */, + FA1A3F842356C4AD00A253E8 /* github-actions-examplesTests */, + FA1A3F8F2356C4AD00A253E8 /* github-actions-examplesUITests */, + FA1A3F6C2356C4AA00A253E8 /* Products */, + ); + sourceTree = ""; + }; + FA1A3F6C2356C4AA00A253E8 /* Products */ = { + isa = PBXGroup; + children = ( + FA1A3F6B2356C4AA00A253E8 /* github-actions-examples.app */, + FA1A3F812356C4AD00A253E8 /* github-actions-examplesTests.xctest */, + FA1A3F8C2356C4AD00A253E8 /* github-actions-examplesUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + FA1A3F6D2356C4AA00A253E8 /* github-actions-examples */ = { + isa = PBXGroup; + children = ( + FA1A3F6E2356C4AA00A253E8 /* AppDelegate.swift */, + FA1A3F702356C4AA00A253E8 /* SceneDelegate.swift */, + FA1A3F722356C4AA00A253E8 /* ContentView.swift */, + FA1A3F742356C4AD00A253E8 /* Assets.xcassets */, + FA1A3F792356C4AD00A253E8 /* LaunchScreen.storyboard */, + FA1A3F7C2356C4AD00A253E8 /* Info.plist */, + FA1A3F762356C4AD00A253E8 /* Preview Content */, + ); + path = "github-actions-examples"; + sourceTree = ""; + }; + FA1A3F762356C4AD00A253E8 /* Preview Content */ = { + isa = PBXGroup; + children = ( + FA1A3F772356C4AD00A253E8 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; + FA1A3F842356C4AD00A253E8 /* github-actions-examplesTests */ = { + isa = PBXGroup; + children = ( + FA1A3F852356C4AD00A253E8 /* github_actions_examplesTests.swift */, + FA1A3F872356C4AD00A253E8 /* Info.plist */, + ); + path = "github-actions-examplesTests"; + sourceTree = ""; + }; + FA1A3F8F2356C4AD00A253E8 /* github-actions-examplesUITests */ = { + isa = PBXGroup; + children = ( + FA1A3F902356C4AD00A253E8 /* github_actions_examplesUITests.swift */, + FA1A3F922356C4AD00A253E8 /* Info.plist */, + ); + path = "github-actions-examplesUITests"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + FA1A3F6A2356C4AA00A253E8 /* github-actions-examples */ = { + isa = PBXNativeTarget; + buildConfigurationList = FA1A3F952356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examples" */; + buildPhases = ( + FA1A3F672356C4AA00A253E8 /* Sources */, + FA1A3F682356C4AA00A253E8 /* Frameworks */, + FA1A3F692356C4AA00A253E8 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "github-actions-examples"; + productName = "github-actions-examples"; + productReference = FA1A3F6B2356C4AA00A253E8 /* github-actions-examples.app */; + productType = "com.apple.product-type.application"; + }; + FA1A3F802356C4AD00A253E8 /* github-actions-examplesTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = FA1A3F982356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examplesTests" */; + buildPhases = ( + FA1A3F7D2356C4AD00A253E8 /* Sources */, + FA1A3F7E2356C4AD00A253E8 /* Frameworks */, + FA1A3F7F2356C4AD00A253E8 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + FA1A3F832356C4AD00A253E8 /* PBXTargetDependency */, + ); + name = "github-actions-examplesTests"; + productName = "github-actions-examplesTests"; + productReference = FA1A3F812356C4AD00A253E8 /* github-actions-examplesTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + FA1A3F8B2356C4AD00A253E8 /* github-actions-examplesUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = FA1A3F9B2356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examplesUITests" */; + buildPhases = ( + FA1A3F882356C4AD00A253E8 /* Sources */, + FA1A3F892356C4AD00A253E8 /* Frameworks */, + FA1A3F8A2356C4AD00A253E8 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + FA1A3F8E2356C4AD00A253E8 /* PBXTargetDependency */, + ); + name = "github-actions-examplesUITests"; + productName = "github-actions-examplesUITests"; + productReference = FA1A3F8C2356C4AD00A253E8 /* github-actions-examplesUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + FA1A3F632356C4AA00A253E8 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1110; + LastUpgradeCheck = 1110; + ORGANIZATIONNAME = TakuKobayashi; + TargetAttributes = { + FA1A3F6A2356C4AA00A253E8 = { + CreatedOnToolsVersion = 11.1; + }; + FA1A3F802356C4AD00A253E8 = { + CreatedOnToolsVersion = 11.1; + TestTargetID = FA1A3F6A2356C4AA00A253E8; + }; + FA1A3F8B2356C4AD00A253E8 = { + CreatedOnToolsVersion = 11.1; + TestTargetID = FA1A3F6A2356C4AA00A253E8; + }; + }; + }; + buildConfigurationList = FA1A3F662356C4AA00A253E8 /* Build configuration list for PBXProject "github-actions-examples" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = FA1A3F622356C4AA00A253E8; + productRefGroup = FA1A3F6C2356C4AA00A253E8 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + FA1A3F6A2356C4AA00A253E8 /* github-actions-examples */, + FA1A3F802356C4AD00A253E8 /* github-actions-examplesTests */, + FA1A3F8B2356C4AD00A253E8 /* github-actions-examplesUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + FA1A3F692356C4AA00A253E8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA1A3F7B2356C4AD00A253E8 /* LaunchScreen.storyboard in Resources */, + FA1A3F782356C4AD00A253E8 /* Preview Assets.xcassets in Resources */, + FA1A3F752356C4AD00A253E8 /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA1A3F7F2356C4AD00A253E8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA1A3F8A2356C4AD00A253E8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + FA1A3F672356C4AA00A253E8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA1A3F6F2356C4AA00A253E8 /* AppDelegate.swift in Sources */, + FA1A3F712356C4AA00A253E8 /* SceneDelegate.swift in Sources */, + FA1A3F732356C4AA00A253E8 /* ContentView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA1A3F7D2356C4AD00A253E8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA1A3F862356C4AD00A253E8 /* github_actions_examplesTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA1A3F882356C4AD00A253E8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA1A3F912356C4AD00A253E8 /* github_actions_examplesUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + FA1A3F832356C4AD00A253E8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = FA1A3F6A2356C4AA00A253E8 /* github-actions-examples */; + targetProxy = FA1A3F822356C4AD00A253E8 /* PBXContainerItemProxy */; + }; + FA1A3F8E2356C4AD00A253E8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = FA1A3F6A2356C4AA00A253E8 /* github-actions-examples */; + targetProxy = FA1A3F8D2356C4AD00A253E8 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + FA1A3F792356C4AD00A253E8 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + FA1A3F7A2356C4AD00A253E8 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + FA1A3F932356C4AD00A253E8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + FA1A3F942356C4AD00A253E8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + FA1A3F962356C4AD00A253E8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"github-actions-examples/Preview Content\""; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "github-actions-examples/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.taptappun.taku.kobayashi.github-actions-examples"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + FA1A3F972356C4AD00A253E8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"github-actions-examples/Preview Content\""; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "github-actions-examples/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.taptappun.taku.kobayashi.github-actions-examples"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + FA1A3F992356C4AD00A253E8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = "github-actions-examplesTests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.taptappun.taku.kobayashi.github-actions-examplesTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/github-actions-examples.app/github-actions-examples"; + }; + name = Debug; + }; + FA1A3F9A2356C4AD00A253E8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = "github-actions-examplesTests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.taptappun.taku.kobayashi.github-actions-examplesTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/github-actions-examples.app/github-actions-examples"; + }; + name = Release; + }; + FA1A3F9C2356C4AD00A253E8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = "github-actions-examplesUITests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.taptappun.taku.kobayashi.github-actions-examplesUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "github-actions-examples"; + }; + name = Debug; + }; + FA1A3F9D2356C4AD00A253E8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = "github-actions-examplesUITests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "net.taptappun.taku.kobayashi.github-actions-examplesUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "github-actions-examples"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + FA1A3F662356C4AA00A253E8 /* Build configuration list for PBXProject "github-actions-examples" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FA1A3F932356C4AD00A253E8 /* Debug */, + FA1A3F942356C4AD00A253E8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FA1A3F952356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examples" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FA1A3F962356C4AD00A253E8 /* Debug */, + FA1A3F972356C4AD00A253E8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FA1A3F982356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examplesTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FA1A3F992356C4AD00A253E8 /* Debug */, + FA1A3F9A2356C4AD00A253E8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FA1A3F9B2356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examplesUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FA1A3F9C2356C4AD00A253E8 /* Debug */, + FA1A3F9D2356C4AD00A253E8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = FA1A3F632356C4AA00A253E8 /* Project object */; +} diff --git a/iOS/github-actions-examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/iOS/github-actions-examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..c7dc930e --- /dev/null +++ b/iOS/github-actions-examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/iOS/github-actions-examples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/github-actions-examples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/iOS/github-actions-examples.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iOS/github-actions-examples/AppDelegate.swift b/iOS/github-actions-examples/AppDelegate.swift new file mode 100644 index 00000000..b3f1812c --- /dev/null +++ b/iOS/github-actions-examples/AppDelegate.swift @@ -0,0 +1,37 @@ +// +// AppDelegate.swift +// github-actions-examples +// +// Created by Taku Kobayashi on 2019/10/16. +// Copyright © 2019 TakuKobayashi. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + // MARK: UISceneSession Lifecycle + + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { + // Called when a new scene session is being created. + // Use this method to select a configuration to create the new scene with. + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } + + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { + // Called when the user discards a scene session. + // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. + // Use this method to release any resources that were specific to the discarded scenes, as they will not return. + } + + +} + diff --git a/iOS/github-actions-examples/Assets.xcassets/AppIcon.appiconset/Contents.json b/iOS/github-actions-examples/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..d8db8d65 --- /dev/null +++ b/iOS/github-actions-examples/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/iOS/github-actions-examples/Assets.xcassets/Contents.json b/iOS/github-actions-examples/Assets.xcassets/Contents.json new file mode 100644 index 00000000..da4a164c --- /dev/null +++ b/iOS/github-actions-examples/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/iOS/github-actions-examples/Base.lproj/LaunchScreen.storyboard b/iOS/github-actions-examples/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..865e9329 --- /dev/null +++ b/iOS/github-actions-examples/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/github-actions-examples/ContentView.swift b/iOS/github-actions-examples/ContentView.swift new file mode 100644 index 00000000..6e65cf9d --- /dev/null +++ b/iOS/github-actions-examples/ContentView.swift @@ -0,0 +1,21 @@ +// +// ContentView.swift +// github-actions-examples +// +// Created by Taku Kobayashi on 2019/10/16. +// Copyright © 2019 TakuKobayashi. All rights reserved. +// + +import SwiftUI + +struct ContentView: View { + var body: some View { + Text("Hello World") + } +} + +struct ContentView_Previews: PreviewProvider { + static var previews: some View { + ContentView() + } +} diff --git a/iOS/github-actions-examples/Info.plist b/iOS/github-actions-examples/Info.plist new file mode 100644 index 00000000..9742bf0f --- /dev/null +++ b/iOS/github-actions-examples/Info.plist @@ -0,0 +1,60 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + + + + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/iOS/github-actions-examples/Preview Content/Preview Assets.xcassets/Contents.json b/iOS/github-actions-examples/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 00000000..da4a164c --- /dev/null +++ b/iOS/github-actions-examples/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/iOS/github-actions-examples/SceneDelegate.swift b/iOS/github-actions-examples/SceneDelegate.swift new file mode 100644 index 00000000..2885022b --- /dev/null +++ b/iOS/github-actions-examples/SceneDelegate.swift @@ -0,0 +1,64 @@ +// +// SceneDelegate.swift +// github-actions-examples +// +// Created by Taku Kobayashi on 2019/10/16. +// Copyright © 2019 TakuKobayashi. All rights reserved. +// + +import UIKit +import SwiftUI + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. + // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). + + // Create the SwiftUI view that provides the window contents. + let contentView = ContentView() + + // Use a UIHostingController as window root view controller. + if let windowScene = scene as? UIWindowScene { + let window = UIWindow(windowScene: windowScene) + window.rootViewController = UIHostingController(rootView: contentView) + self.window = window + window.makeKeyAndVisible() + } + } + + func sceneDidDisconnect(_ scene: UIScene) { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead). + } + + func sceneDidBecomeActive(_ scene: UIScene) { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } + + func sceneWillResignActive(_ scene: UIScene) { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } + + func sceneWillEnterForeground(_ scene: UIScene) { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } + + +} + diff --git a/iOS/github-actions-examplesTests/Info.plist b/iOS/github-actions-examplesTests/Info.plist new file mode 100644 index 00000000..64d65ca4 --- /dev/null +++ b/iOS/github-actions-examplesTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/iOS/github-actions-examplesTests/github_actions_examplesTests.swift b/iOS/github-actions-examplesTests/github_actions_examplesTests.swift new file mode 100644 index 00000000..3aebb1d1 --- /dev/null +++ b/iOS/github-actions-examplesTests/github_actions_examplesTests.swift @@ -0,0 +1,34 @@ +// +// github_actions_examplesTests.swift +// github-actions-examplesTests +// +// Created by Taku Kobayashi on 2019/10/16. +// Copyright © 2019 TakuKobayashi. All rights reserved. +// + +import XCTest +@testable import github_actions_examples + +class github_actions_examplesTests: XCTestCase { + + override func setUp() { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/iOS/github-actions-examplesUITests/Info.plist b/iOS/github-actions-examplesUITests/Info.plist new file mode 100644 index 00000000..64d65ca4 --- /dev/null +++ b/iOS/github-actions-examplesUITests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/iOS/github-actions-examplesUITests/github_actions_examplesUITests.swift b/iOS/github-actions-examplesUITests/github_actions_examplesUITests.swift new file mode 100644 index 00000000..727c097e --- /dev/null +++ b/iOS/github-actions-examplesUITests/github_actions_examplesUITests.swift @@ -0,0 +1,43 @@ +// +// github_actions_examplesUITests.swift +// github-actions-examplesUITests +// +// Created by Taku Kobayashi on 2019/10/16. +// Copyright © 2019 TakuKobayashi. All rights reserved. +// + +import XCTest + +class github_actions_examplesUITests: XCTestCase { + + override func setUp() { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() { + // UI tests must launch the application that they test. + let app = XCUIApplication() + app.launch() + + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testLaunchPerformance() { + if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) { + // This measures how long it takes to launch your application. + measure(metrics: [XCTOSSignpostMetric.applicationLaunch]) { + XCUIApplication().launch() + } + } + } +} From e6e7d5e0dd5043bf5a814524cd25eb679bfc6cb2 Mon Sep 17 00:00:00 2001 From: TakuKobayashi Date: Fri, 18 Oct 2019 14:55:02 +0900 Subject: [PATCH 02/39] pod init --- iOS/Podfile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 iOS/Podfile diff --git a/iOS/Podfile b/iOS/Podfile new file mode 100644 index 00000000..8c369026 --- /dev/null +++ b/iOS/Podfile @@ -0,0 +1,19 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target 'github-actions-examples' do + # Comment the next line if you don't want to use dynamic frameworks + use_frameworks! + + # Pods for github-actions-examples + + target 'github-actions-examplesTests' do + inherit! :search_paths + # Pods for testing + end + + target 'github-actions-examplesUITests' do + # Pods for testing + end + +end From c230bd3d48888238e2573e01e9e8b7535e7f53ce Mon Sep 17 00:00:00 2001 From: TakuKobayashi Date: Fri, 18 Oct 2019 14:58:45 +0900 Subject: [PATCH 03/39] bundler init and install cocoapods and fastlane --- iOS/Gemfile | 8 ++ iOS/Gemfile.lock | 217 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 225 insertions(+) create mode 100644 iOS/Gemfile create mode 100644 iOS/Gemfile.lock diff --git a/iOS/Gemfile b/iOS/Gemfile new file mode 100644 index 00000000..45387f89 --- /dev/null +++ b/iOS/Gemfile @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } + +gem "cocoapods" +gem "fastlane" \ No newline at end of file diff --git a/iOS/Gemfile.lock b/iOS/Gemfile.lock new file mode 100644 index 00000000..295a5bd1 --- /dev/null +++ b/iOS/Gemfile.lock @@ -0,0 +1,217 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.1) + activesupport (4.2.11.1) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + algoliasearch (1.27.1) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) + atomos (0.1.3) + babosa (1.0.3) + claide (1.0.3) + cocoapods (1.8.4) + activesupport (>= 4.0.2, < 5) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.8.4) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.2.2, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-stats (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.4.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.6.6) + nap (~> 1.0) + ruby-macho (~> 1.4) + xcodeproj (>= 1.11.1, < 2.0) + cocoapods-core (1.8.4) + activesupport (>= 4.0.2, < 6) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + cocoapods-deintegrate (1.0.4) + cocoapods-downloader (1.2.2) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.0) + cocoapods-stats (1.1.0) + cocoapods-trunk (1.4.1) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander-fastlane (4.4.6) + highline (~> 1.7.2) + concurrent-ruby (1.1.5) + declarative (0.0.10) + declarative-option (0.1.0) + digest-crc (0.4.1) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.7.5) + emoji_regex (1.0.1) + escape (0.0.4) + excon (0.67.0) + faraday (0.17.0) + multipart-post (>= 1.2, < 3) + faraday-cookie_jar (0.0.6) + faraday (>= 0.7.4) + http-cookie (~> 1.0.0) + faraday_middleware (0.13.1) + faraday (>= 0.7.4, < 1.0) + fastimage (2.1.7) + fastlane (2.134.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.3, < 3.0.0) + babosa (>= 1.0.2, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander-fastlane (>= 4.4.6, < 5.0.0) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 2.0) + excon (>= 0.45.0, < 1.0.0) + faraday (~> 0.17) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 0.13.1) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-api-client (>= 0.21.2, < 0.24.0) + google-cloud-storage (>= 1.15.0, < 2.0.0) + highline (>= 1.7.2, < 2.0.0) + json (< 3.0.0) + jwt (~> 2.1.0) + mini_magick (>= 4.9.4, < 5.0.0) + multi_xml (~> 0.5) + multipart-post (~> 2.0.0) + plist (>= 3.1.0, < 4.0.0) + public_suffix (~> 2.0.0) + rubyzip (>= 1.3.0, < 2.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + slack-notifier (>= 2.0.0, < 3.0.0) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (>= 1.4.5, < 2.0.0) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.8.1, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) + fourflusher (2.3.1) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + google-api-client (0.23.9) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.5, < 0.7.0) + httpclient (>= 2.8.1, < 3.0) + mime-types (~> 3.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + signet (~> 0.9) + google-cloud-core (1.3.2) + google-cloud-env (~> 1.0) + google-cloud-env (1.2.1) + faraday (~> 0.11) + google-cloud-storage (1.16.0) + digest-crc (~> 0.4) + google-api-client (~> 0.23) + google-cloud-core (~> 1.2) + googleauth (>= 0.6.2, < 0.10.0) + googleauth (0.6.7) + faraday (~> 0.12) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.7) + highline (1.7.10) + http-cookie (1.0.3) + domain_name (~> 0.5) + httpclient (2.8.3) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + json (2.2.0) + jwt (2.1.0) + memoist (0.16.0) + mime-types (3.3) + mime-types-data (~> 3.2015) + mime-types-data (3.2019.1009) + mini_magick (4.9.5) + minitest (5.12.2) + molinillo (0.6.6) + multi_json (1.14.1) + multi_xml (0.6.0) + multipart-post (2.0.0) + nanaimo (0.2.6) + nap (1.1.0) + naturally (2.2.0) + netrc (0.11.0) + os (1.0.1) + plist (3.5.0) + public_suffix (2.0.5) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rouge (2.0.7) + ruby-macho (1.4.0) + rubyzip (1.3.0) + security (0.1.3) + signet (0.12.0) + addressable (~> 2.3) + faraday (~> 0.9) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.6) + CFPropertyList + naturally + slack-notifier (2.3.2) + terminal-notifier (2.0.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + tty-cursor (0.7.0) + tty-screen (0.7.0) + tty-spinner (0.9.1) + tty-cursor (~> 0.7) + tzinfo (1.2.5) + thread_safe (~> 0.1) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.6) + unicode-display_width (1.6.0) + word_wrap (1.0.0) + xcodeproj (1.13.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.2.6) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.0) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + ruby + +DEPENDENCIES + cocoapods + fastlane + +BUNDLED WITH + 1.17.2 From e02c6d4775a33ae354a7e9a40355bb0c29fb7506 Mon Sep 17 00:00:00 2001 From: TakuKobayashi Date: Fri, 18 Oct 2019 15:01:34 +0900 Subject: [PATCH 04/39] init fastlane --- iOS/fastlane/Appfile | 6 ++++++ iOS/fastlane/Fastfile | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 iOS/fastlane/Appfile create mode 100644 iOS/fastlane/Fastfile diff --git a/iOS/fastlane/Appfile b/iOS/fastlane/Appfile new file mode 100644 index 00000000..18030630 --- /dev/null +++ b/iOS/fastlane/Appfile @@ -0,0 +1,6 @@ +# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app +# apple_id("[[APPLE_ID]]") # Your Apple email address + + +# For more information about the Appfile, see: +# https://docs.fastlane.tools/advanced/#appfile diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile new file mode 100644 index 00000000..0f39ea63 --- /dev/null +++ b/iOS/fastlane/Fastfile @@ -0,0 +1,23 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +default_platform(:ios) + +platform :ios do + desc "Description of what the lane does" + lane :custom_lane do + # add actions here: https://docs.fastlane.tools/actions + end +end From 0ba4ff7efa3005ffd5974328b0c9c6741fafe589 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Tue, 22 Oct 2019 23:51:39 +0900 Subject: [PATCH 05/39] execute fastlane build --- .gitignore | 80 +++++++++++- iOS/Podfile.lock | 3 + iOS/fastlane/Fastfile | 8 +- iOS/fastlane/README.md | 29 +++++ iOS/fastlane/report.xml | 25 ++++ .../project.pbxproj | 119 ++++++++++++++++++ .../contents.xcworkspacedata | 10 ++ 7 files changed, 269 insertions(+), 5 deletions(-) create mode 100644 iOS/Podfile.lock create mode 100644 iOS/fastlane/README.md create mode 100644 iOS/fastlane/report.xml create mode 100644 iOS/github-actions-examples.xcworkspace/contents.xcworkspacedata diff --git a/.gitignore b/.gitignore index 7620011b..cd3ac625 100644 --- a/.gitignore +++ b/.gitignore @@ -242,7 +242,6 @@ proguard/ .idea/libraries/ .gradle/ app/build/ -build/ captures/ .externalNativeBuild @@ -291,7 +290,6 @@ xcuserdata/ *.xccheckout ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) -build/ DerivedData/ *.moved-aside *.pbxuser @@ -320,4 +318,80 @@ DerivedData/ iOSInjectionProject/ -# End of https://www.gitignore.io/api/xcode,xcodeinjection \ No newline at end of file +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated +DerivedData/ + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +# plugin +.history + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ + +## Other +*.moved-aside +*.xccheckout +*.xcscmblueprint + +## Obj-C/Swift specific +*.hmap +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +.build/ + +# CocoaPods +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# +Pods/ + +# Carthage +# +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output + +.DS_Store \ No newline at end of file diff --git a/iOS/Podfile.lock b/iOS/Podfile.lock new file mode 100644 index 00000000..f6f1b450 --- /dev/null +++ b/iOS/Podfile.lock @@ -0,0 +1,3 @@ +PODFILE CHECKSUM: 56ff68dc12cdbd254d64a37c26bb797b20cb6dfc + +COCOAPODS: 1.8.4 diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 0f39ea63..6a033367 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -16,8 +16,12 @@ default_platform(:ios) platform :ios do + before_all do + cocoapods + end + desc "Description of what the lane does" - lane :custom_lane do - # add actions here: https://docs.fastlane.tools/actions + lane :build do + gym(scheme: "github-actions-examples") end end diff --git a/iOS/fastlane/README.md b/iOS/fastlane/README.md new file mode 100644 index 00000000..b26eb2e2 --- /dev/null +++ b/iOS/fastlane/README.md @@ -0,0 +1,29 @@ +fastlane documentation +================ +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +``` +xcode-select --install +``` + +Install _fastlane_ using +``` +[sudo] gem install fastlane -NV +``` +or alternatively using `brew cask install fastlane` + +# Available Actions +## iOS +### ios build +``` +fastlane ios build +``` +Description of what the lane does + +---- + +This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run. +More information about fastlane can be found on [fastlane.tools](https://fastlane.tools). +The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml new file mode 100644 index 00000000..c5a11cf4 --- /dev/null +++ b/iOS/fastlane/report.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOS/github-actions-examples.xcodeproj/project.pbxproj b/iOS/github-actions-examples.xcodeproj/project.pbxproj index c2429fd4..f17e3345 100644 --- a/iOS/github-actions-examples.xcodeproj/project.pbxproj +++ b/iOS/github-actions-examples.xcodeproj/project.pbxproj @@ -7,6 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 218F789FAD01B94898D3FF0C /* Pods_github_actions_examples_github_actions_examplesUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 51D77E6F8EAF023EE1FE1044 /* Pods_github_actions_examples_github_actions_examplesUITests.framework */; }; + 62D6F329FE1DB41CA254CFBD /* Pods_github_actions_examples.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 982A6452AE5B3872318E43A5 /* Pods_github_actions_examples.framework */; }; + A75CEBFF18884526320AB6C4 /* Pods_github_actions_examplesTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93D21EE9A51F33486B719B0A /* Pods_github_actions_examplesTests.framework */; }; FA1A3F6F2356C4AA00A253E8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1A3F6E2356C4AA00A253E8 /* AppDelegate.swift */; }; FA1A3F712356C4AA00A253E8 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1A3F702356C4AA00A253E8 /* SceneDelegate.swift */; }; FA1A3F732356C4AA00A253E8 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1A3F722356C4AA00A253E8 /* ContentView.swift */; }; @@ -35,6 +38,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 1084FDA1852F91CB037792CE /* Pods-github-actions-examples-github-actions-examplesUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-github-actions-examples-github-actions-examplesUITests.debug.xcconfig"; path = "Target Support Files/Pods-github-actions-examples-github-actions-examplesUITests/Pods-github-actions-examples-github-actions-examplesUITests.debug.xcconfig"; sourceTree = ""; }; + 415D4E972F56B9A60ECC8253 /* Pods-github-actions-examples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-github-actions-examples.release.xcconfig"; path = "Target Support Files/Pods-github-actions-examples/Pods-github-actions-examples.release.xcconfig"; sourceTree = ""; }; + 44AEB37EE153E61773D37EA6 /* Pods-github-actions-examples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-github-actions-examples.debug.xcconfig"; path = "Target Support Files/Pods-github-actions-examples/Pods-github-actions-examples.debug.xcconfig"; sourceTree = ""; }; + 51D77E6F8EAF023EE1FE1044 /* Pods_github_actions_examples_github_actions_examplesUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_github_actions_examples_github_actions_examplesUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 593264BBA8AFFC7440C64357 /* Pods-github-actions-examples-github-actions-examplesUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-github-actions-examples-github-actions-examplesUITests.release.xcconfig"; path = "Target Support Files/Pods-github-actions-examples-github-actions-examplesUITests/Pods-github-actions-examples-github-actions-examplesUITests.release.xcconfig"; sourceTree = ""; }; + 61A6266A702F98A29911C872 /* Pods-github-actions-examplesTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-github-actions-examplesTests.release.xcconfig"; path = "Target Support Files/Pods-github-actions-examplesTests/Pods-github-actions-examplesTests.release.xcconfig"; sourceTree = ""; }; + 93D21EE9A51F33486B719B0A /* Pods_github_actions_examplesTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_github_actions_examplesTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 982A6452AE5B3872318E43A5 /* Pods_github_actions_examples.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_github_actions_examples.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A4CBC64D51666AE89BF68103 /* Pods-github-actions-examplesTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-github-actions-examplesTests.debug.xcconfig"; path = "Target Support Files/Pods-github-actions-examplesTests/Pods-github-actions-examplesTests.debug.xcconfig"; sourceTree = ""; }; FA1A3F6B2356C4AA00A253E8 /* github-actions-examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "github-actions-examples.app"; sourceTree = BUILT_PRODUCTS_DIR; }; FA1A3F6E2356C4AA00A253E8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; FA1A3F702356C4AA00A253E8 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -56,6 +68,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 62D6F329FE1DB41CA254CFBD /* Pods_github_actions_examples.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -63,6 +76,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A75CEBFF18884526320AB6C4 /* Pods_github_actions_examplesTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -70,12 +84,37 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 218F789FAD01B94898D3FF0C /* Pods_github_actions_examples_github_actions_examplesUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0DA1866A4412AD01F101D593 /* Pods */ = { + isa = PBXGroup; + children = ( + 44AEB37EE153E61773D37EA6 /* Pods-github-actions-examples.debug.xcconfig */, + 415D4E972F56B9A60ECC8253 /* Pods-github-actions-examples.release.xcconfig */, + 1084FDA1852F91CB037792CE /* Pods-github-actions-examples-github-actions-examplesUITests.debug.xcconfig */, + 593264BBA8AFFC7440C64357 /* Pods-github-actions-examples-github-actions-examplesUITests.release.xcconfig */, + A4CBC64D51666AE89BF68103 /* Pods-github-actions-examplesTests.debug.xcconfig */, + 61A6266A702F98A29911C872 /* Pods-github-actions-examplesTests.release.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + 9D970A02E3A79393F009EF41 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 982A6452AE5B3872318E43A5 /* Pods_github_actions_examples.framework */, + 51D77E6F8EAF023EE1FE1044 /* Pods_github_actions_examples_github_actions_examplesUITests.framework */, + 93D21EE9A51F33486B719B0A /* Pods_github_actions_examplesTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; FA1A3F622356C4AA00A253E8 = { isa = PBXGroup; children = ( @@ -83,6 +122,8 @@ FA1A3F842356C4AD00A253E8 /* github-actions-examplesTests */, FA1A3F8F2356C4AD00A253E8 /* github-actions-examplesUITests */, FA1A3F6C2356C4AA00A253E8 /* Products */, + 0DA1866A4412AD01F101D593 /* Pods */, + 9D970A02E3A79393F009EF41 /* Frameworks */, ); sourceTree = ""; }; @@ -143,6 +184,7 @@ isa = PBXNativeTarget; buildConfigurationList = FA1A3F952356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examples" */; buildPhases = ( + 5010A5D0D4D87C8CE5BE73F8 /* [CP] Check Pods Manifest.lock */, FA1A3F672356C4AA00A253E8 /* Sources */, FA1A3F682356C4AA00A253E8 /* Frameworks */, FA1A3F692356C4AA00A253E8 /* Resources */, @@ -160,6 +202,7 @@ isa = PBXNativeTarget; buildConfigurationList = FA1A3F982356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examplesTests" */; buildPhases = ( + E04C0AFE324DBC06B77FF1EC /* [CP] Check Pods Manifest.lock */, FA1A3F7D2356C4AD00A253E8 /* Sources */, FA1A3F7E2356C4AD00A253E8 /* Frameworks */, FA1A3F7F2356C4AD00A253E8 /* Resources */, @@ -178,6 +221,7 @@ isa = PBXNativeTarget; buildConfigurationList = FA1A3F9B2356C4AD00A253E8 /* Build configuration list for PBXNativeTarget "github-actions-examplesUITests" */; buildPhases = ( + F9F694D8EA2D21F151331959 /* [CP] Check Pods Manifest.lock */, FA1A3F882356C4AD00A253E8 /* Sources */, FA1A3F892356C4AD00A253E8 /* Frameworks */, FA1A3F8A2356C4AD00A253E8 /* Resources */, @@ -262,6 +306,75 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 5010A5D0D4D87C8CE5BE73F8 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-github-actions-examples-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + E04C0AFE324DBC06B77FF1EC /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-github-actions-examplesTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + F9F694D8EA2D21F151331959 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-github-actions-examples-github-actions-examplesUITests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ FA1A3F672356C4AA00A253E8 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -432,6 +545,7 @@ }; FA1A3F962356C4AD00A253E8 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 44AEB37EE153E61773D37EA6 /* Pods-github-actions-examples.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; @@ -451,6 +565,7 @@ }; FA1A3F972356C4AD00A253E8 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 415D4E972F56B9A60ECC8253 /* Pods-github-actions-examples.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; @@ -470,6 +585,7 @@ }; FA1A3F992356C4AD00A253E8 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = A4CBC64D51666AE89BF68103 /* Pods-github-actions-examplesTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -491,6 +607,7 @@ }; FA1A3F9A2356C4AD00A253E8 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 61A6266A702F98A29911C872 /* Pods-github-actions-examplesTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -512,6 +629,7 @@ }; FA1A3F9C2356C4AD00A253E8 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1084FDA1852F91CB037792CE /* Pods-github-actions-examples-github-actions-examplesUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; @@ -531,6 +649,7 @@ }; FA1A3F9D2356C4AD00A253E8 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 593264BBA8AFFC7440C64357 /* Pods-github-actions-examples-github-actions-examplesUITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; diff --git a/iOS/github-actions-examples.xcworkspace/contents.xcworkspacedata b/iOS/github-actions-examples.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..e178ac91 --- /dev/null +++ b/iOS/github-actions-examples.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + From 58cd82de70845b9cf3833dbebdcafac4e267043a Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Thu, 24 Oct 2019 00:40:45 +0900 Subject: [PATCH 06/39] add iOS build settings and memos --- iOS/README.md | 44 +++++++++++++++++++++++++++++++++++++++++ iOS/fastlane/Fastfile | 10 ++++++++-- iOS/fastlane/README.md | 11 ++++++++--- iOS/fastlane/report.xml | 8 ++++---- 4 files changed, 64 insertions(+), 9 deletions(-) create mode 100644 iOS/README.md diff --git a/iOS/README.md b/iOS/README.md new file mode 100644 index 00000000..2c6dabd9 --- /dev/null +++ b/iOS/README.md @@ -0,0 +1,44 @@ +# iOS開発におけるメモ + +## トラブルシューティング + +### パスが通っていない? + +fasylaneでBuildしたら以下のようなエラーが出た。 + +```sh + Unable to locate Xcode. Please make sure to have Xcode installed on your machine +``` + +Xcode Command Line toolsがインストールされていないか、`xcodebuild` などのXcode関連のコマンドを使うためのパスが通っていないために発生している可能性がある。 + +#### Xcode Command Line toolsがインストールされていない場合 + +Xcodeをインストールする場合は以下のコマンドを実行してみる + +```sh +xcode-select --install +``` + +【参考】 + * https://qiita.com/kuriya/items/69d1e510fcaec4afd8c9 + +#### Xcode関連のコマンドを使うためのパスが通っていない + +パスを通す場合は以下のコマンドを入力してみる + +```sh +fastlane env +``` + +これで環境構築することができるはず。または以下のコマンド + +```sh +sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer +``` + +【参考】 + * https://github.com/fastlane/fastlane/issues/12263 + * https://github.com/fastlane/fastlane/issues/12662 + + \ No newline at end of file diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 6a033367..b04dcac0 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -20,8 +20,14 @@ platform :ios do cocoapods end - desc "Description of what the lane does" - lane :build do + desc "execute debug build" + lane :debug_build do + build_app(scheme: "github-actions-examples", + include_bitcode: true) + end + + desc "execute release build by gym" + lane :release_build do gym(scheme: "github-actions-examples") end end diff --git a/iOS/fastlane/README.md b/iOS/fastlane/README.md index b26eb2e2..15616b7f 100644 --- a/iOS/fastlane/README.md +++ b/iOS/fastlane/README.md @@ -16,11 +16,16 @@ or alternatively using `brew cask install fastlane` # Available Actions ## iOS -### ios build +### ios debug_build ``` -fastlane ios build +fastlane ios debug_build ``` -Description of what the lane does +execute debug build +### ios release_build +``` +fastlane ios release_build +``` +execute release build by gym ---- diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml index c5a11cf4..2665272e 100644 --- a/iOS/fastlane/report.xml +++ b/iOS/fastlane/report.xml @@ -5,19 +5,19 @@ - + - + - + - + From 91c7339b436747919d1d8abeebd169f295670221 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Thu, 24 Oct 2019 08:53:15 +0900 Subject: [PATCH 07/39] open xcworkspace --- iOS/fastlane/report.xml | 6 +++--- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 iOS/github-actions-examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml index 2665272e..23574a0a 100644 --- a/iOS/fastlane/report.xml +++ b/iOS/fastlane/report.xml @@ -5,17 +5,17 @@ - + - + - + diff --git a/iOS/github-actions-examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iOS/github-actions-examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/iOS/github-actions-examples.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + From f5e965aa5fd032aa8f4d5eb31f8b3504cf7fed20 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Fri, 25 Oct 2019 00:47:21 +0900 Subject: [PATCH 08/39] add dotenv and document --- iOS/Gemfile | 3 ++- iOS/Gemfile.lock | 3 ++- iOS/README.md | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/iOS/Gemfile b/iOS/Gemfile index 45387f89..af35c20a 100644 --- a/iOS/Gemfile +++ b/iOS/Gemfile @@ -5,4 +5,5 @@ source "https://rubygems.org" git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } gem "cocoapods" -gem "fastlane" \ No newline at end of file +gem "fastlane" +gem "dotenv" \ No newline at end of file diff --git a/iOS/Gemfile.lock b/iOS/Gemfile.lock index 295a5bd1..71efab2e 100644 --- a/iOS/Gemfile.lock +++ b/iOS/Gemfile.lock @@ -211,7 +211,8 @@ PLATFORMS DEPENDENCIES cocoapods + dotenv fastlane BUNDLED WITH - 1.17.2 + 1.17.3 diff --git a/iOS/README.md b/iOS/README.md index 2c6dabd9..05ede89b 100644 --- a/iOS/README.md +++ b/iOS/README.md @@ -41,4 +41,4 @@ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer * https://github.com/fastlane/fastlane/issues/12263 * https://github.com/fastlane/fastlane/issues/12662 - \ No newline at end of file +## Development Teamが設定されていない From 0811c4ff6be213b35c52aa76b81a8d1c0b4ec55f Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Fri, 25 Oct 2019 00:48:09 +0900 Subject: [PATCH 09/39] add build lineup --- iOS/fastlane/Fastfile | 36 ++++++++++++++++++++++++++++++++++-- iOS/fastlane/README.md | 10 ++++++++++ iOS/fastlane/report.xml | 16 ++++++++++++---- 3 files changed, 56 insertions(+), 6 deletions(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index b04dcac0..a559a795 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -20,10 +20,42 @@ platform :ios do cocoapods end + private_lane :update_team do |options| + update_project_team( + path: "github-actions-examples.xcodeproj", + teamid: ENV.fetch("TEAM_ID") { "TEAM_ID" } + ) + end + + desc "check debug build" + lane :check_debug_build do + update_team + build_app( + scheme: "github-actions-examples", + skip_package_ipa: true, + skip_archive: true, + include_bitcode: true, + configuration: "Debug" + ) + end + desc "execute debug build" lane :debug_build do - build_app(scheme: "github-actions-examples", - include_bitcode: true) + update_team + build_app( + scheme: "github-actions-examples", + include_bitcode: true, + configuration: "Debug" + ) + end + + desc "execute debug build test" + lane :debug_test do + update_team + scan( + workspace: "github-actions-examples.xcworkspace", + devices: ["iPhone 11 Pro Max"] + ) end desc "execute release build by gym" diff --git a/iOS/fastlane/README.md b/iOS/fastlane/README.md index 15616b7f..33a73316 100644 --- a/iOS/fastlane/README.md +++ b/iOS/fastlane/README.md @@ -16,11 +16,21 @@ or alternatively using `brew cask install fastlane` # Available Actions ## iOS +### ios check_debug_build +``` +fastlane ios check_debug_build +``` +check debug build ### ios debug_build ``` fastlane ios debug_build ``` execute debug build +### ios debug_test +``` +fastlane ios debug_test +``` +execute debug build test ### ios release_build ``` fastlane ios release_build diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml index 23574a0a..03073ade 100644 --- a/iOS/fastlane/report.xml +++ b/iOS/fastlane/report.xml @@ -5,19 +5,27 @@ - + - + - + - + + + + + + + + + From 6df01462a9b1ad2fcdb6b18ca5b266820f938104 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Fri, 25 Oct 2019 00:53:00 +0900 Subject: [PATCH 10/39] eecute sample build. --- iOS/fastlane/.env.sample | 1 + iOS/fastlane/report.xml | 10 +++++----- iOS/github-actions-examples.xcodeproj/project.pbxproj | 6 ++++++ 3 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 iOS/fastlane/.env.sample diff --git a/iOS/fastlane/.env.sample b/iOS/fastlane/.env.sample new file mode 100644 index 00000000..310a89a1 --- /dev/null +++ b/iOS/fastlane/.env.sample @@ -0,0 +1 @@ +TEAM_ID="" \ No newline at end of file diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml index 03073ade..d7550f44 100644 --- a/iOS/fastlane/report.xml +++ b/iOS/fastlane/report.xml @@ -5,27 +5,27 @@ - + - + - + - + - + diff --git a/iOS/github-actions-examples.xcodeproj/project.pbxproj b/iOS/github-actions-examples.xcodeproj/project.pbxproj index f17e3345..6afa0c93 100644 --- a/iOS/github-actions-examples.xcodeproj/project.pbxproj +++ b/iOS/github-actions-examples.xcodeproj/project.pbxproj @@ -550,6 +550,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_ASSET_PATHS = "\"github-actions-examples/Preview Content\""; + DEVELOPMENT_TEAM = 4Z392XB7Y7; ENABLE_PREVIEWS = YES; INFOPLIST_FILE = "github-actions-examples/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -570,6 +571,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_ASSET_PATHS = "\"github-actions-examples/Preview Content\""; + DEVELOPMENT_TEAM = 4Z392XB7Y7; ENABLE_PREVIEWS = YES; INFOPLIST_FILE = "github-actions-examples/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( @@ -590,6 +592,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 4Z392XB7Y7; INFOPLIST_FILE = "github-actions-examplesTests/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 13.1; LD_RUNPATH_SEARCH_PATHS = ( @@ -612,6 +615,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 4Z392XB7Y7; INFOPLIST_FILE = "github-actions-examplesTests/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 13.1; LD_RUNPATH_SEARCH_PATHS = ( @@ -633,6 +637,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 4Z392XB7Y7; INFOPLIST_FILE = "github-actions-examplesUITests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -653,6 +658,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 4Z392XB7Y7; INFOPLIST_FILE = "github-actions-examplesUITests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", From 91d1d61ff25f63206545a8e6f7ff8ac619b8329b Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Sat, 23 May 2020 12:02:34 +0900 Subject: [PATCH 11/39] bundle update --- iOS/Gemfile.lock | 133 ++++++++++++++++++++++++++++------------------- 1 file changed, 80 insertions(+), 53 deletions(-) diff --git a/iOS/Gemfile.lock b/iOS/Gemfile.lock index 71efab2e..47f8c25b 100644 --- a/iOS/Gemfile.lock +++ b/iOS/Gemfile.lock @@ -1,24 +1,40 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.1) - activesupport (4.2.11.1) + CFPropertyList (3.0.2) + activesupport (4.2.11.3) i18n (~> 0.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.1) + algoliasearch (1.27.2) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) + aws-eventstream (1.1.0) + aws-partitions (1.320.0) + aws-sdk-core (3.96.1) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.31.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.66.0) + aws-sdk-core (~> 3, >= 3.96.1) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.1.3) + aws-eventstream (~> 1.0, >= 1.0.2) babosa (1.0.3) claide (1.0.3) - cocoapods (1.8.4) + cocoapods (1.9.2) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.8.4) + cocoapods-core (= 1.9.2) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -33,61 +49,66 @@ GEM molinillo (~> 0.6.6) nap (~> 1.0) ruby-macho (~> 1.4) - xcodeproj (>= 1.11.1, < 2.0) - cocoapods-core (1.8.4) + xcodeproj (>= 1.14.0, < 2.0) + cocoapods-core (1.9.2) activesupport (>= 4.0.2, < 6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) fuzzy_match (~> 2.0.4) nap (~> 1.0) + netrc (~> 0.11) + typhoeus (~> 1.0) cocoapods-deintegrate (1.0.4) - cocoapods-downloader (1.2.2) + cocoapods-downloader (1.3.0) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.0) cocoapods-stats (1.1.0) - cocoapods-trunk (1.4.1) + cocoapods-trunk (1.5.0) nap (>= 0.8, < 2.0) netrc (~> 0.11) - cocoapods-try (1.1.0) + cocoapods-try (1.2.0) colored (1.2) colored2 (3.1.2) commander-fastlane (4.4.6) highline (~> 1.7.2) - concurrent-ruby (1.1.5) + concurrent-ruby (1.1.6) declarative (0.0.10) declarative-option (0.1.0) - digest-crc (0.4.1) + digest-crc (0.5.1) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) dotenv (2.7.5) emoji_regex (1.0.1) escape (0.0.4) - excon (0.67.0) - faraday (0.17.0) + ethon (0.12.0) + ffi (>= 1.3.0) + excon (0.73.0) + faraday (1.0.1) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) faraday (>= 0.7.4) http-cookie (~> 1.0.0) - faraday_middleware (0.13.1) - faraday (>= 0.7.4, < 1.0) + faraday_middleware (1.0.0) + faraday (~> 1.0) fastimage (2.1.7) - fastlane (2.134.0) + fastlane (2.148.1) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) + aws-sdk-s3 (~> 1.0) babosa (>= 1.0.2, < 2.0.0) bundler (>= 1.12.0, < 3.0.0) colored commander-fastlane (>= 4.4.6, < 5.0.0) dotenv (>= 2.1.1, < 3.0.0) emoji_regex (>= 0.1, < 2.0) - excon (>= 0.45.0, < 1.0.0) - faraday (~> 0.17) + excon (>= 0.71.0, < 1.0.0) + faraday (>= 0.17, < 2.0) faraday-cookie_jar (~> 0.0.6) - faraday_middleware (~> 0.13.1) + faraday_middleware (>= 0.13.1, < 2.0) fastimage (>= 2.1.0, < 3.0.0) gh_inspector (>= 1.1.2, < 2.0.0) - google-api-client (>= 0.21.2, < 0.24.0) + google-api-client (>= 0.37.0, < 0.39.0) google-cloud-storage (>= 1.15.0, < 2.0.0) highline (>= 1.7.2, < 2.0.0) json (< 3.0.0) @@ -106,50 +127,54 @@ GEM tty-screen (>= 0.6.3, < 1.0.0) tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) - xcodeproj (>= 1.8.1, < 2.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) + ffi (1.12.2) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - google-api-client (0.23.9) + google-api-client (0.38.0) addressable (~> 2.5, >= 2.5.1) - googleauth (>= 0.5, < 0.7.0) + googleauth (~> 0.9) httpclient (>= 2.8.1, < 3.0) - mime-types (~> 3.0) + mini_mime (~> 1.0) representable (~> 3.0) retriable (>= 2.0, < 4.0) - signet (~> 0.9) - google-cloud-core (1.3.2) + signet (~> 0.12) + google-cloud-core (1.5.0) google-cloud-env (~> 1.0) - google-cloud-env (1.2.1) - faraday (~> 0.11) - google-cloud-storage (1.16.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.3.1) + faraday (>= 0.17.3, < 2.0) + google-cloud-errors (1.0.0) + google-cloud-storage (1.26.1) + addressable (~> 2.5) digest-crc (~> 0.4) - google-api-client (~> 0.23) + google-api-client (~> 0.33) google-cloud-core (~> 1.2) - googleauth (>= 0.6.2, < 0.10.0) - googleauth (0.6.7) - faraday (~> 0.12) + googleauth (~> 0.9) + mini_mime (~> 1.0) + googleauth (0.12.0) + faraday (>= 0.17.3, < 2.0) jwt (>= 1.4, < 3.0) memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) - signet (~> 0.7) + signet (~> 0.14) highline (1.7.10) http-cookie (1.0.3) domain_name (~> 0.5) httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) - json (2.2.0) + jmespath (1.4.0) + json (2.3.0) jwt (2.1.0) - memoist (0.16.0) - mime-types (3.3) - mime-types-data (~> 3.2015) - mime-types-data (3.2019.1009) - mini_magick (4.9.5) - minitest (5.12.2) + memoist (0.16.2) + mini_magick (4.10.1) + mini_mime (1.0.2) + minitest (5.14.1) molinillo (0.6.6) multi_json (1.14.1) multi_xml (0.6.0) @@ -158,7 +183,7 @@ GEM nap (1.1.0) naturally (2.2.0) netrc (0.11.0) - os (1.0.1) + os (1.1.0) plist (3.5.0) public_suffix (2.0.5) representable (3.0.4) @@ -170,12 +195,12 @@ GEM ruby-macho (1.4.0) rubyzip (1.3.0) security (0.1.3) - signet (0.12.0) + signet (0.14.0) addressable (~> 2.3) - faraday (~> 0.9) + faraday (>= 0.17.3, < 2.0) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simctl (1.6.6) + simctl (1.6.8) CFPropertyList naturally slack-notifier (2.3.2) @@ -183,19 +208,21 @@ GEM terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - tty-cursor (0.7.0) - tty-screen (0.7.0) - tty-spinner (0.9.1) + tty-cursor (0.7.1) + tty-screen (0.7.1) + tty-spinner (0.9.3) tty-cursor (~> 0.7) - tzinfo (1.2.5) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.7) thread_safe (~> 0.1) uber (0.1.0) unf (0.1.4) unf_ext - unf_ext (0.0.7.6) - unicode-display_width (1.6.0) + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) word_wrap (1.0.0) - xcodeproj (1.13.0) + xcodeproj (1.16.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) From 7aaf50bb3e750b720692421ec8de6cb43c39405c Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Sat, 23 May 2020 17:10:23 +0900 Subject: [PATCH 12/39] reset up fastlane --- iOS/Gemfile | 3 ++- iOS/Gemfile.lock | 4 +++ iOS/Podfile.lock | 2 +- iOS/fastlane/Fastfile | 58 +++++++++++++++++++++++------------------ iOS/fastlane/README.md | 22 +++++----------- iOS/fastlane/report.xml | 17 ++++++++---- 6 files changed, 58 insertions(+), 48 deletions(-) diff --git a/iOS/Gemfile b/iOS/Gemfile index af35c20a..6a7e49d0 100644 --- a/iOS/Gemfile +++ b/iOS/Gemfile @@ -6,4 +6,5 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } gem "cocoapods" gem "fastlane" -gem "dotenv" \ No newline at end of file +gem "dotenv" +gem "xcode-install" \ No newline at end of file diff --git a/iOS/Gemfile.lock b/iOS/Gemfile.lock index 47f8c25b..6e9f6495 100644 --- a/iOS/Gemfile.lock +++ b/iOS/Gemfile.lock @@ -222,6 +222,9 @@ GEM unf_ext (0.0.7.7) unicode-display_width (1.7.0) word_wrap (1.0.0) + xcode-install (2.6.4) + claide (>= 0.9.1, < 1.1.0) + fastlane (>= 2.1.0, < 3.0.0) xcodeproj (1.16.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) @@ -240,6 +243,7 @@ DEPENDENCIES cocoapods dotenv fastlane + xcode-install BUNDLED WITH 1.17.3 diff --git a/iOS/Podfile.lock b/iOS/Podfile.lock index f6f1b450..d8d3b029 100644 --- a/iOS/Podfile.lock +++ b/iOS/Podfile.lock @@ -1,3 +1,3 @@ PODFILE CHECKSUM: 56ff68dc12cdbd254d64a37c26bb797b20cb6dfc -COCOAPODS: 1.8.4 +COCOAPODS: 1.9.2 diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index a559a795..41e8365e 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -13,6 +13,8 @@ # Uncomment the line if you want fastlane to automatically update itself # update_fastlane +USE_XCODE_VERSION = "11.3.1" + default_platform(:ios) platform :ios do @@ -20,46 +22,52 @@ platform :ios do cocoapods end - private_lane :update_team do |options| - update_project_team( - path: "github-actions-examples.xcodeproj", - teamid: ENV.fetch("TEAM_ID") { "TEAM_ID" } - ) - end - - desc "check debug build" - lane :check_debug_build do + desc "Distribution of AppStore build" + lane :store_build do |options| + select_xcode update_team + configuration = 'Release' + if options[:configuration] + configuration = options[:configuration] + end build_app( + configuration: configuration, scheme: "github-actions-examples", - skip_package_ipa: true, - skip_archive: true, + export_method: "app-store", + output_name: "github-actions-examples-store-#{configuration.downcase}.ipa", include_bitcode: true, - configuration: "Debug" + clean: true ) end - desc "execute debug build" - lane :debug_build do + desc "Distribution of AdHoc build" + lane :adhoc_build do |options| + select_xcode update_team + configuration = 'Debug' + if options[:configuration] + configuration = options[:configuration] + end build_app( + configuration: configuration, scheme: "github-actions-examples", + export_method: 'ad-hoc', + export_xcargs: '-allowProvisioningUpdates', + output_name: "github-actions-examples-adhoc-#{configuration.downcase}.ipa", include_bitcode: true, - configuration: "Debug" + clean: true ) end - desc "execute debug build test" - lane :debug_test do - update_team - scan( - workspace: "github-actions-examples.xcworkspace", - devices: ["iPhone 11 Pro Max"] - ) + private_lane :update_team do |options| + #update_project_team( + # path: "github-actions-examples.xcodeproj", + # teamid: ENV.fetch("TEAM_ID") { "TEAM_ID" } + #) end - desc "execute release build by gym" - lane :release_build do - gym(scheme: "github-actions-examples") + desc "select common xcode version" + private_lane :select_xcode do + xcversion(version: USE_XCODE_VERSION) end end diff --git a/iOS/fastlane/README.md b/iOS/fastlane/README.md index 33a73316..c887f232 100644 --- a/iOS/fastlane/README.md +++ b/iOS/fastlane/README.md @@ -16,26 +16,16 @@ or alternatively using `brew cask install fastlane` # Available Actions ## iOS -### ios check_debug_build +### ios store_build ``` -fastlane ios check_debug_build +fastlane ios store_build ``` -check debug build -### ios debug_build +Distribution of AppStore build +### ios adhoc_build ``` -fastlane ios debug_build +fastlane ios adhoc_build ``` -execute debug build -### ios debug_test -``` -fastlane ios debug_test -``` -execute debug build test -### ios release_build -``` -fastlane ios release_build -``` -execute release build by gym +Distribution of AdHoc build ---- diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml index d7550f44..02cc7b80 100644 --- a/iOS/fastlane/report.xml +++ b/iOS/fastlane/report.xml @@ -5,27 +5,34 @@ - + - + - + - + - + + + + + + + + From 65e2d3a30a4988c10c17be34a569c2bc139b62a1 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Sun, 31 May 2020 21:37:39 +0900 Subject: [PATCH 13/39] update fastlane command --- iOS/fastlane/Fastfile | 8 ++++---- iOS/fastlane/report.xml | 14 ++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 41e8365e..6c8f5928 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -13,7 +13,7 @@ # Uncomment the line if you want fastlane to automatically update itself # update_fastlane -USE_XCODE_VERSION = "11.3.1" +USE_XCODE_VERSION = "11.5" default_platform(:ios) @@ -30,14 +30,14 @@ platform :ios do if options[:configuration] configuration = options[:configuration] end - build_app( + build_app({ configuration: configuration, scheme: "github-actions-examples", export_method: "app-store", output_name: "github-actions-examples-store-#{configuration.downcase}.ipa", include_bitcode: true, - clean: true - ) + clean: true, + }) end desc "Distribution of AdHoc build" diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml index 02cc7b80..8c5cf360 100644 --- a/iOS/fastlane/report.xml +++ b/iOS/fastlane/report.xml @@ -5,34 +5,32 @@ - + - + - + - + - + - - - + From f5e91dbee0052c8e3587b7d01ee222a5559a0d96 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Sun, 31 May 2020 22:20:04 +0900 Subject: [PATCH 14/39] add github actions iOS release build --- .github/workflows/ios-release-build.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/ios-release-build.yml diff --git a/.github/workflows/ios-release-build.yml b/.github/workflows/ios-release-build.yml new file mode 100644 index 00000000..a12770aa --- /dev/null +++ b/.github/workflows/ios-release-build.yml @@ -0,0 +1,23 @@ +name: iOS Release Build + +on: + push: + +jobs: + build: + runs-on: macos-latest + strategy: + matrix: + xcode-version: 11.5 + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-ruby@v1 + with: + ruby-version: '2.6' + - name: Bundle Install + run: bundle install + - name: Select Xcode version + run: sudo xcode-select -s '/Applications/Xcode_${{ matrix.xcode-version }}.app' + - name: Show Xcode version + run: xcodebuild -version \ No newline at end of file From e51d1afbeaa201c2d2173055cd73ace7d894e7b6 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Sun, 31 May 2020 22:21:48 +0900 Subject: [PATCH 15/39] fix --- .github/workflows/ios-release-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios-release-build.yml b/.github/workflows/ios-release-build.yml index a12770aa..00365b5f 100644 --- a/.github/workflows/ios-release-build.yml +++ b/.github/workflows/ios-release-build.yml @@ -8,7 +8,7 @@ jobs: runs-on: macos-latest strategy: matrix: - xcode-version: 11.5 + xcode-version: "11.5" steps: - uses: actions/checkout@v2 From 2f66695e2ea01aba9e153e175d0400be36afc18e Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Sun, 31 May 2020 22:23:10 +0900 Subject: [PATCH 16/39] fix --- .github/workflows/ios-release-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios-release-build.yml b/.github/workflows/ios-release-build.yml index 00365b5f..cc242b5c 100644 --- a/.github/workflows/ios-release-build.yml +++ b/.github/workflows/ios-release-build.yml @@ -8,7 +8,7 @@ jobs: runs-on: macos-latest strategy: matrix: - xcode-version: "11.5" + xcode-version: [11.5] steps: - uses: actions/checkout@v2 From 9891f913cd9b80a004bb79e87a0b5815a6e34236 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Sun, 31 May 2020 22:25:25 +0900 Subject: [PATCH 17/39] set working-directory iOS --- .github/workflows/ios-release-build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ios-release-build.yml b/.github/workflows/ios-release-build.yml index cc242b5c..6b77c254 100644 --- a/.github/workflows/ios-release-build.yml +++ b/.github/workflows/ios-release-build.yml @@ -16,8 +16,11 @@ jobs: with: ruby-version: '2.6' - name: Bundle Install + working-directory: ./iOS run: bundle install - name: Select Xcode version + working-directory: ./iOS run: sudo xcode-select -s '/Applications/Xcode_${{ matrix.xcode-version }}.app' - name: Show Xcode version + working-directory: ./iOS run: xcodebuild -version \ No newline at end of file From 7abcf7d24d8d48fd118c3e2094623f77cad76b4a Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 05:02:39 +0900 Subject: [PATCH 18/39] edit can fastlane build with needs files --- .gitignore | 4 ++++ iOS/fastlane/Fastfile | 47 ++++++++++++++++++++++++++++++----------- iOS/fastlane/report.xml | 37 ++++++++++++++++++++++++++------ 3 files changed, 70 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index cd3ac625..b5fea0b2 100644 --- a/.gitignore +++ b/.gitignore @@ -394,4 +394,8 @@ fastlane/Preview.html fastlane/screenshots fastlane/test_output +*.mobileprovision +*.p12 + + .DS_Store \ No newline at end of file diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 6c8f5928..b0234427 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -13,8 +13,6 @@ # Uncomment the line if you want fastlane to automatically update itself # update_fastlane -USE_XCODE_VERSION = "11.5" - default_platform(:ios) platform :ios do @@ -23,9 +21,10 @@ platform :ios do end desc "Distribution of AppStore build" - lane :store_build do |options| - select_xcode - update_team + lane :store_build do |options| + select_xcode(options) + update_team(options) + import_certificates_and_provisioning_profile(options) configuration = 'Release' if options[:configuration] configuration = options[:configuration] @@ -42,8 +41,9 @@ platform :ios do desc "Distribution of AdHoc build" lane :adhoc_build do |options| - select_xcode - update_team + select_xcode(options) + update_team(options) + import_certificates_and_provisioning_profile(options) configuration = 'Debug' if options[:configuration] configuration = options[:configuration] @@ -60,14 +60,37 @@ platform :ios do end private_lane :update_team do |options| - #update_project_team( - # path: "github-actions-examples.xcodeproj", - # teamid: ENV.fetch("TEAM_ID") { "TEAM_ID" } - #) + update_project_team( + path: "github-actions-examples.xcodeproj", + teamid: ENV.fetch("TEAM_ID") { "TEAM_ID" } + ) end desc "select common xcode version" - private_lane :select_xcode do + private_lane :select_xcode do |options| + USE_XCODE_VERSION = "11.5" xcversion(version: USE_XCODE_VERSION) end + + desc "Import Certificates and Provisioning Profile" + private_lane :import_certificates_and_provisioning_profile do |options| + keychain_password = ENV.fetch("KEYCHAIN_PASSWORD") { "" } + cert_password = ENV.fetch("CERT_PASSWORD") { "" } + certificate_path = options[:certificate_path] || "ios_distribution.p12" + provisioning_profile = options[:provisioning_profile] || "githubactionsexamples.mobileprovision" + keychain_name = options[:keychain_name] || "github-actions-examples-chain" + if options[:create_new_keychain] + create_keychain( + name: keychain_name, + password: keychain_password, + ) + end + import_certificate( + certificate_path: certificate_path, + certificate_password: cert_password, + keychain_name: keychain_name, + keychain_password: keychain_password, + ) + install_provisioning_profile(path: provisioning_profile) + end end diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml index 8c5cf360..ded06486 100644 --- a/iOS/fastlane/report.xml +++ b/iOS/fastlane/report.xml @@ -5,32 +5,57 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + From 01fb1c2a8f82b576771ce548034a0544104a21ae Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 13:22:44 +0900 Subject: [PATCH 19/39] add command line options --- iOS/fastlane/Fastfile | 28 ++++++++++++++++++---------- iOS/fastlane/report.xml | 25 ++++++++++--------------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index b0234427..1a6a7e75 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -23,17 +23,20 @@ platform :ios do desc "Distribution of AppStore build" lane :store_build do |options| select_xcode(options) - update_team(options) + if options[:team_id] + update_team(options) + end import_certificates_and_provisioning_profile(options) configuration = 'Release' if options[:configuration] configuration = options[:configuration] end + scheme_name = options[:scheme] || "github-actions-examples" build_app({ configuration: configuration, - scheme: "github-actions-examples", + scheme: scheme_name, export_method: "app-store", - output_name: "github-actions-examples-store-#{configuration.downcase}.ipa", + output_name: "#{scheme_name}-store-#{configuration.downcase}.ipa", include_bitcode: true, clean: true, }) @@ -42,34 +45,39 @@ platform :ios do desc "Distribution of AdHoc build" lane :adhoc_build do |options| select_xcode(options) - update_team(options) + if options[:team_id] + update_team(options) + end import_certificates_and_provisioning_profile(options) configuration = 'Debug' if options[:configuration] configuration = options[:configuration] end + scheme_name = options[:scheme] || "github-actions-examples" build_app( configuration: configuration, - scheme: "github-actions-examples", + scheme: scheme_name, export_method: 'ad-hoc', export_xcargs: '-allowProvisioningUpdates', - output_name: "github-actions-examples-adhoc-#{configuration.downcase}.ipa", + output_name: "#{scheme_name}-adhoc-#{configuration.downcase}.ipa", include_bitcode: true, clean: true ) end private_lane :update_team do |options| + xcodeproject_path = options[:xcodeproject_path] || "github-actions-examples.xcodeproj" + team_id = options[:team_id] update_project_team( - path: "github-actions-examples.xcodeproj", - teamid: ENV.fetch("TEAM_ID") { "TEAM_ID" } + path: xcodeproject_path, + teamid: team_id ) end desc "select common xcode version" private_lane :select_xcode do |options| - USE_XCODE_VERSION = "11.5" - xcversion(version: USE_XCODE_VERSION) + use_xcode_version = options[:xcode_version] || "11.5" + xcversion(version: use_xcode_version) end desc "Import Certificates and Provisioning Profile" diff --git a/iOS/fastlane/report.xml b/iOS/fastlane/report.xml index ded06486..24de5cb8 100644 --- a/iOS/fastlane/report.xml +++ b/iOS/fastlane/report.xml @@ -5,57 +5,52 @@ - + - + - + - + - + - + - + - + - + - - - - - - + From 8591dd1156095c07a7aeb566037d3a1b906437e3 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 14:57:45 +0900 Subject: [PATCH 20/39] setup_common --- iOS/fastlane/Fastfile | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 1a6a7e75..10647391 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -22,11 +22,7 @@ platform :ios do desc "Distribution of AppStore build" lane :store_build do |options| - select_xcode(options) - if options[:team_id] - update_team(options) - end - import_certificates_and_provisioning_profile(options) + setup_build_common(options) configuration = 'Release' if options[:configuration] configuration = options[:configuration] @@ -44,17 +40,13 @@ platform :ios do desc "Distribution of AdHoc build" lane :adhoc_build do |options| - select_xcode(options) - if options[:team_id] - update_team(options) - end - import_certificates_and_provisioning_profile(options) + setup_build_common(options) configuration = 'Debug' if options[:configuration] configuration = options[:configuration] end scheme_name = options[:scheme] || "github-actions-examples" - build_app( + build_app({ configuration: configuration, scheme: scheme_name, export_method: 'ad-hoc', @@ -62,7 +54,15 @@ platform :ios do output_name: "#{scheme_name}-adhoc-#{configuration.downcase}.ipa", include_bitcode: true, clean: true - ) + }) + end + + private_lane :setup_build_common do |options| + select_xcode(options) + if options[:team_id] + update_team(options) + end + import_certificates_and_provisioning_profile(options) end private_lane :update_team do |options| From be5da05a74de2611e8fc5ed8c3d439cd15001831 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 17:20:46 +0900 Subject: [PATCH 21/39] setup iOS github actions build --- .github/workflows/ios-release-build.yml | 26 ---------- .github/workflows/ios-store-build.yml | 63 +++++++++++++++++++++++++ iOS/fastlane/.env.sample | 3 +- iOS/fastlane/Fastfile | 4 +- 4 files changed, 67 insertions(+), 29 deletions(-) delete mode 100644 .github/workflows/ios-release-build.yml create mode 100644 .github/workflows/ios-store-build.yml diff --git a/.github/workflows/ios-release-build.yml b/.github/workflows/ios-release-build.yml deleted file mode 100644 index 6b77c254..00000000 --- a/.github/workflows/ios-release-build.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: iOS Release Build - -on: - push: - -jobs: - build: - runs-on: macos-latest - strategy: - matrix: - xcode-version: [11.5] - - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-ruby@v1 - with: - ruby-version: '2.6' - - name: Bundle Install - working-directory: ./iOS - run: bundle install - - name: Select Xcode version - working-directory: ./iOS - run: sudo xcode-select -s '/Applications/Xcode_${{ matrix.xcode-version }}.app' - - name: Show Xcode version - working-directory: ./iOS - run: xcodebuild -version \ No newline at end of file diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml new file mode 100644 index 00000000..6530c6f8 --- /dev/null +++ b/.github/workflows/ios-store-build.yml @@ -0,0 +1,63 @@ +name: iOS Store Build + +on: + push: + +jobs: + build: + runs-on: macos-latest + strategy: + matrix: + xcode-version: [11.5] + build-configuration: [Release] + provisioning-profile-filepath: [githubactionsexamplesstorebuild20200531.mobileprovision] + build-scheme: [github-actions-examples] + xcodeproject-path: [github-actions-examples.xcodeproj] + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-ruby@v1 + with: + ruby-version: '2.6' + - name: Bundle Install + working-directory: ./iOS + run: bundle install + - name: Select Xcode version + working-directory: ./iOS + run: sudo xcode-select -s '/Applications/Xcode_${{ matrix.xcode-version }}.app' + - name: Show Xcode version + working-directory: ./iOS + run: xcodebuild -version + - name: Decode base64 p12 iOS Build key + working-directory: ./iOS + env: + IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64: ${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64 }} + run: | + echo ${IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64} | base64 -d > ./ios_distribution.p12 + - name: Decode base64 p12 iOS Build key + working-directory: ./iOS + env: + IOS_STORE_MOBILEPROVISION_FILE_BASE64: ${{ secrets.IOS_STORE_MOBILEPROVISION_FILE_BASE64 }} + run: | + echo ${IOS_STORE_MOBILEPROVISION_FILE_BASE64} | base64 -d > ./${{ matrix.provisioning-profile-filepath }} + - name: Decode base64 p12 iOS Build key + working-directory: ./iOS + env: + IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64: ${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64 }} + run: | + echo ${IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64} | base64 -d > ./ios_distribution.p12 + - name: Setup Fastlane Build .env + working-directory: ./iOS + env: + KEYCHAIN_PASSWORD: ${{ secrets.IOS_DISTRIBUTION_KEYCHAIN_PASSWORD }} + CERT_PASSWORD: ${{ secrets.IOS_DISTRIBUTION_CERT_PASSWORD }} + run: | + echo "KEYCHAIN_PASSWORD=${KEYCHAIN_PASSWORD}" >> ./fastlane/.env + echo "CERT_PASSWORD=${CERT_PASSWORD}" >> ./fastlane/.env + - name: Android Release aab Build + working-directory: ./iOS + run: fastlane ios store_build scheme:${{ matrix.build-scheme }} xcode_version:${{ matrix.xcode-version }} configuration:${{ matrix.build-configuration }} provisioning_profile:${{ matrix.provisioning-profile-filepath }} xcodeproject_path:${{ matrix.xcodeproject-path }} team_id:${{ secrets.IOS_TEAM_ID }} --verbose + - uses: actions/upload-artifact@master + with: + name: result + path: iOS/${{ matrix.build-scheme }}-store-${{ matrix.build-configuration }}.ipa \ No newline at end of file diff --git a/iOS/fastlane/.env.sample b/iOS/fastlane/.env.sample index 310a89a1..a5bf5036 100644 --- a/iOS/fastlane/.env.sample +++ b/iOS/fastlane/.env.sample @@ -1 +1,2 @@ -TEAM_ID="" \ No newline at end of file +KEYCHAIN_PASSWORD="" +CERT_PASSWORD="" \ No newline at end of file diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 10647391..b2318550 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -32,7 +32,7 @@ platform :ios do configuration: configuration, scheme: scheme_name, export_method: "app-store", - output_name: "#{scheme_name}-store-#{configuration.downcase}.ipa", + output_name: "#{scheme_name}-store-#{configuration}.ipa", include_bitcode: true, clean: true, }) @@ -51,7 +51,7 @@ platform :ios do scheme: scheme_name, export_method: 'ad-hoc', export_xcargs: '-allowProvisioningUpdates', - output_name: "#{scheme_name}-adhoc-#{configuration.downcase}.ipa", + output_name: "#{scheme_name}-adhoc-#{configuration}.ipa", include_bitcode: true, clean: true }) From 9f1e9b9055823603ba0741421ecebbea264de5fb Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 17:28:16 +0900 Subject: [PATCH 22/39] add fastlane args params --- .github/workflows/ios-store-build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index 6530c6f8..0fa81367 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -13,6 +13,8 @@ jobs: provisioning-profile-filepath: [githubactionsexamplesstorebuild20200531.mobileprovision] build-scheme: [github-actions-examples] xcodeproject-path: [github-actions-examples.xcodeproj] + keychain-name: [github-actions-examples-chain] + certificate-path: [ios_distribution.p12] steps: - uses: actions/checkout@v2 @@ -56,7 +58,7 @@ jobs: echo "CERT_PASSWORD=${CERT_PASSWORD}" >> ./fastlane/.env - name: Android Release aab Build working-directory: ./iOS - run: fastlane ios store_build scheme:${{ matrix.build-scheme }} xcode_version:${{ matrix.xcode-version }} configuration:${{ matrix.build-configuration }} provisioning_profile:${{ matrix.provisioning-profile-filepath }} xcodeproject_path:${{ matrix.xcodeproject-path }} team_id:${{ secrets.IOS_TEAM_ID }} --verbose + run: fastlane ios store_build scheme:${{ matrix.build-scheme }} xcode_version:${{ matrix.xcode-version }} configuration:${{ matrix.build-configuration }} provisioning_profile:${{ matrix.provisioning-profile-filepath }} xcodeproject_path:${{ matrix.xcodeproject-path }} team_id:${{ secrets.IOS_TEAM_ID }} keychain_name:${{ matrix.keychain-name }} certificate_path:${{ matrix.certificate-path }} create_new_keychain:true --verbose - uses: actions/upload-artifact@master with: name: result From c4ae48892e9211894750f118f88ff2dc0698b134 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 17:29:37 +0900 Subject: [PATCH 23/39] edit task name --- .github/workflows/ios-store-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index 0fa81367..f59eb092 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -56,7 +56,7 @@ jobs: run: | echo "KEYCHAIN_PASSWORD=${KEYCHAIN_PASSWORD}" >> ./fastlane/.env echo "CERT_PASSWORD=${CERT_PASSWORD}" >> ./fastlane/.env - - name: Android Release aab Build + - name: fastlane ios build working-directory: ./iOS run: fastlane ios store_build scheme:${{ matrix.build-scheme }} xcode_version:${{ matrix.xcode-version }} configuration:${{ matrix.build-configuration }} provisioning_profile:${{ matrix.provisioning-profile-filepath }} xcodeproject_path:${{ matrix.xcodeproject-path }} team_id:${{ secrets.IOS_TEAM_ID }} keychain_name:${{ matrix.keychain-name }} certificate_path:${{ matrix.certificate-path }} create_new_keychain:true --verbose - uses: actions/upload-artifact@master From 1b6ba2b169d43ed6efc2e97fbe6a89c91efbcbb2 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 17:30:17 +0900 Subject: [PATCH 24/39] use bundle exec --- .github/workflows/ios-store-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index f59eb092..4274e2c7 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -58,7 +58,7 @@ jobs: echo "CERT_PASSWORD=${CERT_PASSWORD}" >> ./fastlane/.env - name: fastlane ios build working-directory: ./iOS - run: fastlane ios store_build scheme:${{ matrix.build-scheme }} xcode_version:${{ matrix.xcode-version }} configuration:${{ matrix.build-configuration }} provisioning_profile:${{ matrix.provisioning-profile-filepath }} xcodeproject_path:${{ matrix.xcodeproject-path }} team_id:${{ secrets.IOS_TEAM_ID }} keychain_name:${{ matrix.keychain-name }} certificate_path:${{ matrix.certificate-path }} create_new_keychain:true --verbose + run: bundle exec fastlane ios store_build scheme:${{ matrix.build-scheme }} xcode_version:${{ matrix.xcode-version }} configuration:${{ matrix.build-configuration }} provisioning_profile:${{ matrix.provisioning-profile-filepath }} xcodeproject_path:${{ matrix.xcodeproject-path }} team_id:${{ secrets.IOS_TEAM_ID }} keychain_name:${{ matrix.keychain-name }} certificate_path:${{ matrix.certificate-path }} create_new_keychain:true --verbose - uses: actions/upload-artifact@master with: name: result From cc453c728456bddd99b694dde3f3a881a63463ae Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 17:33:03 +0900 Subject: [PATCH 25/39] Edit task number and task name --- .github/workflows/ios-store-build.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index 4274e2c7..97097d4f 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -36,18 +36,12 @@ jobs: IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64: ${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64 }} run: | echo ${IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64} | base64 -d > ./ios_distribution.p12 - - name: Decode base64 p12 iOS Build key + - name: Decode base64 provisioning profile working-directory: ./iOS env: IOS_STORE_MOBILEPROVISION_FILE_BASE64: ${{ secrets.IOS_STORE_MOBILEPROVISION_FILE_BASE64 }} run: | echo ${IOS_STORE_MOBILEPROVISION_FILE_BASE64} | base64 -d > ./${{ matrix.provisioning-profile-filepath }} - - name: Decode base64 p12 iOS Build key - working-directory: ./iOS - env: - IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64: ${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64 }} - run: | - echo ${IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64} | base64 -d > ./ios_distribution.p12 - name: Setup Fastlane Build .env working-directory: ./iOS env: From 1a1bc4667e17d721c8cd2cb979deb79e57f7c2b7 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 17:50:03 +0900 Subject: [PATCH 26/39] edit name --- .github/workflows/ios-store-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index 97097d4f..99718d59 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -50,7 +50,7 @@ jobs: run: | echo "KEYCHAIN_PASSWORD=${KEYCHAIN_PASSWORD}" >> ./fastlane/.env echo "CERT_PASSWORD=${CERT_PASSWORD}" >> ./fastlane/.env - - name: fastlane ios build + - name: execute fastlane ios build working-directory: ./iOS run: bundle exec fastlane ios store_build scheme:${{ matrix.build-scheme }} xcode_version:${{ matrix.xcode-version }} configuration:${{ matrix.build-configuration }} provisioning_profile:${{ matrix.provisioning-profile-filepath }} xcodeproject_path:${{ matrix.xcodeproject-path }} team_id:${{ secrets.IOS_TEAM_ID }} keychain_name:${{ matrix.keychain-name }} certificate_path:${{ matrix.certificate-path }} create_new_keychain:true --verbose - uses: actions/upload-artifact@master From c9b94cb12b74239ed03bf96fc4aa55d63a797678 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 21:31:37 +0900 Subject: [PATCH 27/39] test scargs --- iOS/fastlane/Fastfile | 1 + 1 file changed, 1 insertion(+) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index b2318550..487fe080 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -31,6 +31,7 @@ platform :ios do build_app({ configuration: configuration, scheme: scheme_name, + xcargs: "-allowProvisioningUpdates", export_method: "app-store", output_name: "#{scheme_name}-store-#{configuration}.ipa", include_bitcode: true, From 00dd8d0b11d81b0a9d51422863f127415d166341 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 21:41:48 +0900 Subject: [PATCH 28/39] set project name --- iOS/fastlane/Fastfile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 487fe080..ec64e281 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -27,11 +27,12 @@ platform :ios do if options[:configuration] configuration = options[:configuration] end + xcodeproject_path = options[:xcodeproject_path] || "github-actions-examples.xcodeproj" scheme_name = options[:scheme] || "github-actions-examples" build_app({ - configuration: configuration, + project: xcodeproject_path, scheme: scheme_name, - xcargs: "-allowProvisioningUpdates", + configuration: configuration, export_method: "app-store", output_name: "#{scheme_name}-store-#{configuration}.ipa", include_bitcode: true, @@ -46,10 +47,12 @@ platform :ios do if options[:configuration] configuration = options[:configuration] end + xcodeproject_path = options[:xcodeproject_path] || "github-actions-examples.xcodeproj" scheme_name = options[:scheme] || "github-actions-examples" build_app({ - configuration: configuration, + project: xcodeproject_path, scheme: scheme_name, + configuration: configuration, export_method: 'ad-hoc', export_xcargs: '-allowProvisioningUpdates', output_name: "#{scheme_name}-adhoc-#{configuration}.ipa", From 9a10aba73b618a883360009b3a53403a0679e7f8 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 21:49:45 +0900 Subject: [PATCH 29/39] test --- iOS/fastlane/Fastfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index ec64e281..1ad764bd 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -22,17 +22,17 @@ platform :ios do desc "Distribution of AppStore build" lane :store_build do |options| + p "------------------------------------" + p options setup_build_common(options) configuration = 'Release' if options[:configuration] configuration = options[:configuration] end - xcodeproject_path = options[:xcodeproject_path] || "github-actions-examples.xcodeproj" scheme_name = options[:scheme] || "github-actions-examples" build_app({ - project: xcodeproject_path, - scheme: scheme_name, configuration: configuration, + scheme: scheme_name, export_method: "app-store", output_name: "#{scheme_name}-store-#{configuration}.ipa", include_bitcode: true, @@ -42,17 +42,17 @@ platform :ios do desc "Distribution of AdHoc build" lane :adhoc_build do |options| + p "------------------------------------" + p options setup_build_common(options) configuration = 'Debug' if options[:configuration] configuration = options[:configuration] end - xcodeproject_path = options[:xcodeproject_path] || "github-actions-examples.xcodeproj" scheme_name = options[:scheme] || "github-actions-examples" build_app({ - project: xcodeproject_path, - scheme: scheme_name, configuration: configuration, + scheme: scheme_name, export_method: 'ad-hoc', export_xcargs: '-allowProvisioningUpdates', output_name: "#{scheme_name}-adhoc-#{configuration}.ipa", From 5779de295492f6b0a4eac5b000b99bf632c86ba4 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 22:06:36 +0900 Subject: [PATCH 30/39] fix --- .github/workflows/ios-store-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index 99718d59..6440f30f 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -35,13 +35,13 @@ jobs: env: IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64: ${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64 }} run: | - echo ${IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64} | base64 -d > ./ios_distribution.p12 + echo ${IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64} | base64 -d > ${{ matrix.certificate-path }} - name: Decode base64 provisioning profile working-directory: ./iOS env: IOS_STORE_MOBILEPROVISION_FILE_BASE64: ${{ secrets.IOS_STORE_MOBILEPROVISION_FILE_BASE64 }} run: | - echo ${IOS_STORE_MOBILEPROVISION_FILE_BASE64} | base64 -d > ./${{ matrix.provisioning-profile-filepath }} + echo ${IOS_STORE_MOBILEPROVISION_FILE_BASE64} | base64 -d > ${{ matrix.provisioning-profile-filepath }} - name: Setup Fastlane Build .env working-directory: ./iOS env: From dca2d8e23ce8addbddbae7bd764784dc82966d4f Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 22:17:21 +0900 Subject: [PATCH 31/39] set workspace --- iOS/fastlane/Fastfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 1ad764bd..308bee5d 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -37,6 +37,7 @@ platform :ios do output_name: "#{scheme_name}-store-#{configuration}.ipa", include_bitcode: true, clean: true, + workspace: "github-actions-examples.xcworkspace", }) end @@ -57,7 +58,8 @@ platform :ios do export_xcargs: '-allowProvisioningUpdates', output_name: "#{scheme_name}-adhoc-#{configuration}.ipa", include_bitcode: true, - clean: true + clean: true, + workspace: "github-actions-examples.xcworkspace", }) end From f01db99fbf301a748ee1db7fc9b1e54f2c84b824 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 22:33:27 +0900 Subject: [PATCH 32/39] update_project_provisioning --- iOS/fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 308bee5d..e1578d5f 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -105,6 +105,6 @@ platform :ios do keychain_name: keychain_name, keychain_password: keychain_password, ) - install_provisioning_profile(path: provisioning_profile) + update_project_provisioning(profile: provisioning_profile) end end From 4c2a8f9ec2cabff8c2237280ad7904e132579e1f Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Mon, 1 Jun 2020 22:48:09 +0900 Subject: [PATCH 33/39] test --- iOS/fastlane/Fastfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index e1578d5f..4b4c25ed 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -88,6 +88,7 @@ platform :ios do desc "Import Certificates and Provisioning Profile" private_lane :import_certificates_and_provisioning_profile do |options| + xcodeproject_path = options[:xcodeproject_path] || "github-actions-examples.xcodeproj" keychain_password = ENV.fetch("KEYCHAIN_PASSWORD") { "" } cert_password = ENV.fetch("CERT_PASSWORD") { "" } certificate_path = options[:certificate_path] || "ios_distribution.p12" @@ -105,6 +106,10 @@ platform :ios do keychain_name: keychain_name, keychain_password: keychain_password, ) - update_project_provisioning(profile: provisioning_profile) + update_project_provisioning( + xcodeproj: xcodeproject_path, + profile: provisioning_profile, + build_configuration: "Release", + ) end end From c2e481122d77dba62273d8e58f16d7d62625b8e7 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Tue, 2 Jun 2020 00:25:04 +0900 Subject: [PATCH 34/39] test fix --- iOS/fastlane/Fastfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index 4b4c25ed..c76ec1dd 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -88,7 +88,7 @@ platform :ios do desc "Import Certificates and Provisioning Profile" private_lane :import_certificates_and_provisioning_profile do |options| - xcodeproject_path = options[:xcodeproject_path] || "github-actions-examples.xcodeproj" + scheme_name = options[:scheme] || "github-actions-examples" keychain_password = ENV.fetch("KEYCHAIN_PASSWORD") { "" } cert_password = ENV.fetch("CERT_PASSWORD") { "" } certificate_path = options[:certificate_path] || "ios_distribution.p12" @@ -106,10 +106,10 @@ platform :ios do keychain_name: keychain_name, keychain_password: keychain_password, ) - update_project_provisioning( - xcodeproj: xcodeproject_path, - profile: provisioning_profile, - build_configuration: "Release", + automatic_code_signing( + targets: scheme_name, + use_automatic_signing: false ) +# update_project_provisioning(profile: provisioning_profile) end end From 43d2ad3330ba4995cf62f2b738311f9de8894e56 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Tue, 2 Jun 2020 17:02:25 +0900 Subject: [PATCH 35/39] appear cer file --- .github/workflows/ios-store-build.yml | 6 ++++++ .gitignore | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index 6440f30f..fecb0fd1 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -36,6 +36,12 @@ jobs: IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64: ${{ secrets.IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64 }} run: | echo ${IOS_DISTRIBUTION_CERTIFICATE_P12_FILE_BASE64} | base64 -d > ${{ matrix.certificate-path }} + - name: Decode base64 certificates + working-directory: ./iOS + env: + IOS_STORE_CERTIFICATES_FILE_BASE64: ${{ secrets.IOS_STORE_CERTIFICATES_FILE_BASE64 }} + run: | + echo ${IOS_STORE_CERTIFICATES_FILE_BASE64} | base64 -d > ios_distribution.cer - name: Decode base64 provisioning profile working-directory: ./iOS env: diff --git a/.gitignore b/.gitignore index b5fea0b2..b6590f0c 100644 --- a/.gitignore +++ b/.gitignore @@ -396,6 +396,6 @@ fastlane/test_output *.mobileprovision *.p12 - +*.cer .DS_Store \ No newline at end of file From e152681c90c168881aedb2097538ecfe393b19fb Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Wed, 3 Jun 2020 03:11:01 +0900 Subject: [PATCH 36/39] update project --- iOS/fastlane/Fastfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index c76ec1dd..a152c443 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -88,6 +88,7 @@ platform :ios do desc "Import Certificates and Provisioning Profile" private_lane :import_certificates_and_provisioning_profile do |options| + xcodeproject_path = options[:xcodeproject_path] || "github-actions-examples.xcodeproj" scheme_name = options[:scheme] || "github-actions-examples" keychain_password = ENV.fetch("KEYCHAIN_PASSWORD") { "" } cert_password = ENV.fetch("CERT_PASSWORD") { "" } @@ -106,10 +107,11 @@ platform :ios do keychain_name: keychain_name, keychain_password: keychain_password, ) - automatic_code_signing( - targets: scheme_name, - use_automatic_signing: false + update_project_provisioning( + xcodeproj: xcodeproject_path, + profile: certificate_path, # optional if you use sigh + build_configuration: "Release", + certificate: "ios_distribution.cer" # optionally specify the codesigning identity ) -# update_project_provisioning(profile: provisioning_profile) end end From f7f5de6385ed9dfd70e01c16ea2af555ad1f9d08 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Wed, 3 Jun 2020 06:09:54 +0900 Subject: [PATCH 37/39] fix --- iOS/fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/fastlane/Fastfile b/iOS/fastlane/Fastfile index a152c443..fcd7cc4e 100644 --- a/iOS/fastlane/Fastfile +++ b/iOS/fastlane/Fastfile @@ -109,7 +109,7 @@ platform :ios do ) update_project_provisioning( xcodeproj: xcodeproject_path, - profile: certificate_path, # optional if you use sigh + profile: provisioning_profile, # optional if you use sigh build_configuration: "Release", certificate: "ios_distribution.cer" # optionally specify the codesigning identity ) From a60cfd028a15b93ba3c229fcf485e5e63a670fa4 Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Wed, 3 Jun 2020 06:17:50 +0900 Subject: [PATCH 38/39] add install bundler --- .github/workflows/ios-store-build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index fecb0fd1..108b99bb 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -21,6 +21,9 @@ jobs: - uses: actions/setup-ruby@v1 with: ruby-version: '2.6' + - name: Install Bundler + working-directory: ./iOS + run: gem install bundler - name: Bundle Install working-directory: ./iOS run: bundle install From 57bc3b6e945584c65222327e480e1c96c84db48f Mon Sep 17 00:00:00 2001 From: Taku Kobayashi Date: Wed, 3 Jun 2020 06:22:03 +0900 Subject: [PATCH 39/39] update --- .github/workflows/ios-store-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios-store-build.yml b/.github/workflows/ios-store-build.yml index 108b99bb..2abd2848 100644 --- a/.github/workflows/ios-store-build.yml +++ b/.github/workflows/ios-store-build.yml @@ -23,7 +23,7 @@ jobs: ruby-version: '2.6' - name: Install Bundler working-directory: ./iOS - run: gem install bundler + run: gem update bundler - name: Bundle Install working-directory: ./iOS run: bundle install