From 8696137c8d5218cd35f48111a7064887d7133f03 Mon Sep 17 00:00:00 2001 From: opficdev Date: Tue, 10 Mar 2026 01:53:29 +0900 Subject: [PATCH 1/7] =?UTF-8?q?style:=20=EC=A0=95=ED=99=95=ED=95=98?= =?UTF-8?q?=EA=B2=8C=20=ED=85=8C=ED=94=8C=EC=9D=B4=EB=9D=BC=EB=8A=94=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EB=AA=85=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/testflight.yml | 4 ++-- fastlane/Fastfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/testflight.yml b/.github/workflows/testflight.yml index 5d877ce..ca1db70 100644 --- a/.github/workflows/testflight.yml +++ b/.github/workflows/testflight.yml @@ -10,7 +10,7 @@ permissions: contents: read jobs: - beta: + testflight: runs-on: macos-latest timeout-minutes: 45 env: @@ -45,4 +45,4 @@ jobs: printf '%s' "$ASC_KEY_CONTENT" | base64 -D > "$ASC_KEY_PATH" - name: Upload to TestFlight - run: bundle exec fastlane beta + run: bundle exec fastlane testflight diff --git a/fastlane/Fastfile b/fastlane/Fastfile index b118be5..6939902 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -37,7 +37,7 @@ platform :ios do next api_key end - lane :beta do + lane :testflight do api_key = build_for_store upload_to_testflight( From 6772079078df088778ec712fa3459ba13898d590 Mon Sep 17 00:00:00 2001 From: opficdev Date: Tue, 10 Mar 2026 02:08:59 +0900 Subject: [PATCH 2/7] =?UTF-8?q?refactor:=20=EC=95=B1=20=EB=B9=8C=EB=93=9C?= =?UTF-8?q?=20=EC=8B=9C=EA=B0=84=20=EB=8B=A8=EC=B6=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fastlane/Fastfile | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 6939902..9a64042 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -11,6 +11,14 @@ platform :ios do end private_lane :build_for_store do + if ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"].to_s.strip.empty? + ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "30" + end + + if ENV["FASTLANE_XCODEBUILD_SETTINGS_RETRIES"].to_s.strip.empty? + ENV["FASTLANE_XCODEBUILD_SETTINGS_RETRIES"] = "5" + end + api_key = asc_api_key setup_ci if ENV["CI"] @@ -46,6 +54,10 @@ platform :ios do ) end + lane :testflight_build_only do + build_for_store + end + lane :release do api_key = build_for_store From d4fc32f50d2452b426a8a58b7d48150c60a1f785 Mon Sep 17 00:00:00 2001 From: opficdev Date: Tue, 10 Mar 2026 02:09:26 +0900 Subject: [PATCH 3/7] =?UTF-8?q?chore:=20fastlane/README.md=20=EC=B6=94?= =?UTF-8?q?=EC=A0=81=20=EB=81=84=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + fastlane/README.md | 40 ---------------------------------------- 2 files changed, 1 insertion(+), 40 deletions(-) delete mode 100644 fastlane/README.md diff --git a/.gitignore b/.gitignore index 328aec7..650d110 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ vendor/bundle/ # Fastlane .fastlane/ +fastlane/README.md fastlane/report.xml fastlane/test_output/ fastlane/logs/ diff --git a/fastlane/README.md b/fastlane/README.md deleted file mode 100644 index 761f24b..0000000 --- a/fastlane/README.md +++ /dev/null @@ -1,40 +0,0 @@ -fastlane documentation ----- - -# Installation - -Make sure you have the latest version of the Xcode command line tools installed: - -```sh -xcode-select --install -``` - -For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) - -# Available Actions - -## iOS - -### ios beta - -```sh -[bundle exec] fastlane ios beta -``` - - - -### ios release - -```sh -[bundle exec] fastlane ios release -``` - - - ----- - -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). From 1822757c18b77e33c86104f34d8f2a1001a2e800 Mon Sep 17 00:00:00 2001 From: opficdev Date: Tue, 10 Mar 2026 02:33:31 +0900 Subject: [PATCH 4/7] =?UTF-8?q?test:=20lint=20=EB=AA=A8=EB=93=88=20validat?= =?UTF-8?q?ion=20=EC=8A=A4=ED=82=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fastlane/Fastfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 9a64042..096fc7a 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -39,7 +39,8 @@ platform :ios do build_app( project: "DevLog.xcodeproj", scheme: "DevLog", - export_method: "app-store" + export_method: "app-store-connect", + xcargs: "-skipPackagePluginValidation" ) next api_key From e8dc7d49885b753893d3bc786a9d430f8031492e Mon Sep 17 00:00:00 2001 From: opficdev Date: Tue, 10 Mar 2026 02:43:22 +0900 Subject: [PATCH 5/7] =?UTF-8?q?fix:=20=EB=82=B4=EB=B6=80=20testflight=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=EA=B3=BC=20=EA=B2=B9=EC=B9=98=EB=8A=94=20?= =?UTF-8?q?=ED=98=84=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/testflight.yml | 2 +- fastlane/Fastfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/testflight.yml b/.github/workflows/testflight.yml index ca1db70..4935145 100644 --- a/.github/workflows/testflight.yml +++ b/.github/workflows/testflight.yml @@ -45,4 +45,4 @@ jobs: printf '%s' "$ASC_KEY_CONTENT" | base64 -D > "$ASC_KEY_PATH" - name: Upload to TestFlight - run: bundle exec fastlane testflight + run: bundle exec fastlane deploy_testflight diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 096fc7a..61ee245 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -46,7 +46,7 @@ platform :ios do next api_key end - lane :testflight do + lane :deploy_testflight do api_key = build_for_store upload_to_testflight( From c02c960c2eed770880bd0ad0c2a811cfb887c52d Mon Sep 17 00:00:00 2001 From: opficdev Date: Tue, 10 Mar 2026 02:45:42 +0900 Subject: [PATCH 6/7] =?UTF-8?q?fix:=20export=5Fmethod=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 61ee245..446a276 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -39,7 +39,7 @@ platform :ios do build_app( project: "DevLog.xcodeproj", scheme: "DevLog", - export_method: "app-store-connect", + export_method: "app-store", xcargs: "-skipPackagePluginValidation" ) From 0c61521ec6e35866329bc65ed013d1183d365ded Mon Sep 17 00:00:00 2001 From: opficdev Date: Tue, 10 Mar 2026 03:02:22 +0900 Subject: [PATCH 7/7] =?UTF-8?q?chore:=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=ED=94=8C=EB=9D=BC=EC=9D=B4=ED=8A=B8=20CI=20=EB=B0=B0=ED=8F=AC?= =?UTF-8?q?=20=EC=84=9C=EB=AA=85=20=EC=84=A4=EC=A0=95=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fastlane/Fastfile | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 446a276..f8c0ac0 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,3 +1,5 @@ +require "shellwords" + default_platform(:ios) platform :ios do @@ -36,11 +38,24 @@ platform :ios do readonly: ENV["CI"] == "true" ) + matchProvisioningProfileMapping = lane_context[SharedValues::MATCH_PROVISIONING_PROFILE_MAPPING] || {} + provisioningProfileSpecifier = matchProvisioningProfileMapping["opfic.DevLog"].to_s.strip + + UI.user_error!("Missing provisioning profile mapping for opfic.DevLog") if provisioningProfileSpecifier.empty? + + buildAppXcargs = [ + "-skipPackagePluginValidation", + "CODE_SIGN_STYLE=Manual", + "DEVELOPMENT_TEAM=#{ENV["APP_STORE_TEAM_ID"]}", + "CODE_SIGN_IDENTITY=#{Shellwords.escape("Apple Distribution")}", + "PROVISIONING_PROFILE_SPECIFIER=#{Shellwords.escape(provisioningProfileSpecifier)}" + ] + build_app( project: "DevLog.xcodeproj", scheme: "DevLog", export_method: "app-store", - xcargs: "-skipPackagePluginValidation" + xcargs: buildAppXcargs.join(" ") ) next api_key