Skip to content

Commit f32b544

Browse files
author
PL-Kikuchi
committed
Merge release/2025.12.09T01.48.17 into master
2 parents 31cb4cb + 76b9c36 commit f32b544

32 files changed

+316
-291
lines changed

.circleci/config.yml

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -142,24 +142,6 @@ jobs:
142142
- slack/status:
143143
fail_only: true
144144

145-
generate_docs:
146-
executor:
147-
name: build
148-
steps:
149-
- git_clone
150-
- setup_gems
151-
- run:
152-
name: Generate docs
153-
command: |
154-
if [ $EXEC_ENV = 'private' ]; then
155-
git config --global user.name "${GITHUB_USER_NAME}"
156-
git config --global user.email "${GITHUB_USER_EMAIL}"
157-
bundle exec ruby ./generate_docs.rb
158-
fi
159-
working_directory: /Users/distiller/project/scripts
160-
- slack/status:
161-
fail_only: true
162-
163145
publish:
164146
executor:
165147
name: build
@@ -214,13 +196,6 @@ workflows:
214196
equal: [ ci, << pipeline.parameters.context >> ]
215197
jobs:
216198
- build
217-
- generate_docs:
218-
requires:
219-
- build
220-
filters:
221-
branches:
222-
only:
223-
- master
224199
- test:
225200
requires:
226201
- build
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Claude Security Check
2+
on:
3+
pull_request:
4+
types: [opened]
5+
branches:
6+
- master
7+
jobs:
8+
auto-comment:
9+
timeout-minutes: 5
10+
if: github.repository != 'plaidev/karte-ios-sdk'
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
14+
id: app-token
15+
with:
16+
app-id: 135171
17+
private-key: ${{ secrets.SHARED_GITHUB_ACTION_AGENT_APP_PRIVATE_KEY }}
18+
- name: Post Claude comment
19+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
20+
with:
21+
github-token: ${{ steps.app-token.outputs.token }}
22+
script: |
23+
await github.rest.issues.createComment({
24+
owner: context.repo.owner,
25+
repo: context.repo.repo,
26+
issue_number: context.issue.number,
27+
body: '@claude セキュリティ専門家としてレビューしてください。このリポジトリはPublicに同期・公開されます。'
28+
});

.github/workflows/claude-vertex.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ jobs:
4040
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
4141
id: auth_gcp
4242
with:
43-
workload_identity_provider: 'projects/707161537700/locations/global/workloadIdentityPools/github-actions-pool/providers/github-actions-provider'
44-
service_account: 'github-actions@plaid-devenv-ai.iam.gserviceaccount.com'
43+
workload_identity_provider: ${{ secrets.CLAUDE_GCP_WORKLOAD_IDENTITY_PROVIDER }}
44+
service_account: ${{ secrets.CLAUDE_GCP_SERVICE_ACCOUNT }}
4545

4646
# Github App Tokenの取得
4747
# secrets.GITHUB_TOKENを使うとcommitした際にCIが走らないため、Github AppのTokenを使用する
4848
- uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
4949
id: app-token
5050
with:
51-
app-id: 135171 # https://github.com/organizations/plaidev/settings/apps/plaidev-github-actions-agent
51+
app-id: ${{ secrets.CLAUDE_GITHUB_APP_ID }}
5252
private-key: ${{ secrets.SHARED_GITHUB_ACTION_AGENT_APP_PRIVATE_KEY }}
5353

5454
# Claude Code Actionの実行
@@ -57,10 +57,10 @@ jobs:
5757
continue-on-error: true
5858
env:
5959
# Vertex AI設定
60-
ANTHROPIC_VERTEX_PROJECT_ID: 'plaid-devenv-ai'
61-
ANTHROPIC_VERTEX_REGION: us-east5
60+
ANTHROPIC_VERTEX_PROJECT_ID: ${{ secrets.CLAUDE_VERTEX_PROJECT_ID }}
61+
ANTHROPIC_VERTEX_REGION: ${{ secrets.CLAUDE_VERTEX_REGION }}
6262
CLAUDE_CODE_ENDPOINT: vertex
63-
CLOUD_ML_REGION: us-east5
63+
CLOUD_ML_REGION: ${{ secrets.CLAUDE_CLOUD_ML_REGION }}
6464

6565
# モデル設定(動的に選択)
6666
CLAUDE_CODE_PRIMARY_MODEL: ${{ steps.select_model.outputs.model }}
@@ -71,9 +71,9 @@ jobs:
7171
with:
7272
github_token: ${{ steps.app-token.outputs.token }}
7373
use_vertex: true
74+
allowed_bots: plaidev-github-actions-agent
7475
direct_prompt: |
7576
@claude メンションのコメントに基づいて対応してください。
76-
リポジトリのCLAUDE.mdファイルのガイドラインに従ってください。
7777
コメントは日本語でお願いします。
7878
権限がなくて実現できなかったタスクがある場合は何ができなかったかをコメントしてください。
7979
timeout_minutes: 30

.github/workflows/danger.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,34 @@ on:
44
branches:
55
- 'develop'
66
- 'master'
7-
87
permissions:
98
contents: read
109
issues: read
1110
statuses: write
1211
pull-requests: write
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: true
1315
jobs:
1416
review:
1517
runs-on: macos-26
1618
steps:
17-
- name: Cancel Previous Runs
18-
uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1
19+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
20+
- name: Setup Ruby
21+
uses: ruby/setup-ruby@d697be2f83c6234b20877c3b5eac7a7f342f0d0c # v1.269.0
1922
with:
20-
access_token: ${{ secrets.GH_ACCESS_TOKEN }}
21-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
23+
ruby-version: '3.4'
24+
bundler-cache: true
2225
- name: Setup swiftlint
2326
run: |
2427
if !(type swiftlint); then
2528
echo 'swiftlint command is not installed.'
2629
brew install swiftlint
2730
fi
28-
- name: Setup danger
29-
run: gem install danger danger-swiftlint fastlane
3031
- name: Git fetch
3132
run: git fetch -t
3233
- name: Run danger
33-
run: danger
34+
run: |
35+
bundle exec danger --fail-on-errors=true
3436
env:
3537
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/publish-docs.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: "Publish Documentation"
2+
on:
3+
push:
4+
branches:
5+
- master
6+
workflow_dispatch:
7+
inputs:
8+
# Allows manual recovery when the runner's Xcode version path changes.
9+
xcodeVersion:
10+
description: 'Xcode version (e.g., 26.0.1 for /Applications/Xcode_26.0.1.app)'
11+
required: false
12+
default: '26.0.1'
13+
type: string
14+
env:
15+
# https://github.com/actions/runner-images/blob/main/images/macos/macos-26-arm64-Readme.md
16+
# Xcode path: `/Applications/Xcode_26.0.1.app`
17+
XCODE_VERSION: ${{ inputs.xcodeVersion || '26.0.1' }}
18+
jobs:
19+
publish-docs:
20+
runs-on: macos-26
21+
if: github.repository != 'plaidev/karte-ios-sdk'
22+
timeout-minutes: 20
23+
permissions:
24+
contents: read
25+
steps:
26+
- name: Checkout repository
27+
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
28+
with:
29+
submodules: true
30+
- name: Setup Ruby
31+
uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
32+
with:
33+
ruby-version: '3.4'
34+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
35+
- name: Generate GitHub App token
36+
uses: actions/create-github-app-token@7e473efe3cb98aa54f8d4bac15400b15fad77d94 # v2.2.0
37+
id: app-token
38+
with:
39+
app-id: ${{ secrets.SHARED_GITHUB_ACTION_AGENT_APP_ID }}
40+
private-key: ${{ secrets.SHARED_GITHUB_ACTION_AGENT_APP_PRIVATE_KEY }}
41+
owner: plaidev
42+
repositories: |
43+
karte-sdk-docs
44+
- name: Configure Git
45+
env:
46+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
47+
run: |
48+
git config --global url."https://x-access-token:${GH_TOKEN}@github.com/plaidev/karte-sdk-docs".insteadOf "https://github.com/plaidev/karte-sdk-docs"
49+
git config --global user.name "github actions"
50+
git config --global user.email "git@users.noreply.github.com"
51+
# Jazzy uses xcodebuild to analyze Swift modules, so Xcode must be configured
52+
- name: Select Xcode version
53+
run: |
54+
XCODE_PATH="/Applications/Xcode_${{ env.XCODE_VERSION }}.app"
55+
echo "Using Xcode version: ${{ env.XCODE_VERSION }}"
56+
if [ ! -d "${XCODE_PATH}" ]; then
57+
echo "Error: Xcode not found at ${XCODE_PATH}"
58+
exit 1
59+
fi
60+
sudo xcode-select -s "${XCODE_PATH}"
61+
xcodebuild -version
62+
- name: Generate documentation
63+
# Only publish to master when executed on the master branch.
64+
env:
65+
BRANCH_REF: ${{ github.ref_name }}
66+
run: |
67+
if [ "$BRANCH_REF" = "master" ]; then
68+
bundle exec ruby ./generate_docs.rb
69+
else
70+
BRANCH_NAME="docs-$(date +%Y%m%d-%H%M%S)"
71+
bundle exec ruby ./generate_docs.rb --branch "$BRANCH_NAME"
72+
fi
73+
working-directory: scripts
74+
- name: Notify Slack on success
75+
if: success()
76+
uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 # v2.3.3
77+
env:
78+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
79+
SLACK_MESSAGE: 'Documentation for KARTE iOS SDK was published successfully!'
80+
SLACK_COLOR: success
81+
SLACK_ICON_EMOJI: ':apple:'
82+
- name: Notify Slack on failure
83+
if: failure()
84+
uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 # v2.3.3
85+
env:
86+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
87+
SLACK_MESSAGE: 'Failed to publish documentation for KARTE iOS SDK'
88+
SLACK_COLOR: failure
89+
SLACK_ICON_EMOJI: ':apple:'

.github/workflows/spm_deploy.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
name: "Create XCFramework and Deploy Swift-PM"
22
on:
33
pull_request:
4-
branches:
5-
- master
6-
4+
branches:
5+
- master
76
jobs:
87
build:
98
runs-on: macos-26
9+
if: github.repository != 'plaidev/karte-ios-sdk'
10+
timeout-minutes: 30
1011
permissions:
1112
contents: write
1213
id-token: write
@@ -16,24 +17,24 @@ jobs:
1617
with:
1718
access_token: ${{ secrets.GH_ACCESS_TOKEN }}
1819
- name: Checkout master
19-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
20+
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
2021
with:
2122
ref: master
2223
- name: Checkout
23-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
24+
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
2425
with:
2526
submodules: 'true'
2627
- name: Configure Git
2728
run: |
2829
git config user.email "git@users.noreply.github.com"
2930
git config user.name "github actions"
3031
- name: Configure AWS Credentials
31-
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
32+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
3233
with:
3334
aws-region: ap-northeast-1
34-
role-to-assume: arn:aws:iam::161473449094:role/ProductionNativeSdkRole
35+
role-to-assume: ${{ secrets.SPM_DEPLOY_AWS_ROLE_ARN }}
3536
role-session-name: MySessionName
36-
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
37+
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
3738
with:
3839
path: vendor/bundle
3940
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
@@ -75,7 +76,7 @@ jobs:
7576
- name: Backup Swift-PM manifest file
7677
run: cp Package.swift Package.swift.back
7778
- name: Checkout Head Branch
78-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
79+
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
7980
with:
8081
ref: ${{github.event.pull_request.head.ref}}
8182
clean: 'false'
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: "Validate SPM Package"
2+
on:
3+
pull_request:
4+
branches:
5+
- 'develop'
6+
- 'master'
7+
8+
permissions:
9+
contents: read
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
validate-spm:
17+
runs-on: macos-26
18+
steps:
19+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
20+
- name: Resolve Swift Package
21+
run: swift package resolve

.spm-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.30.1
1+
2.31.0

CHANGELOG.md

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,54 @@
22

33
| モジュール名 | Description | 最新のバージョン |
44
| :-- | :-- | :-- |
5-
| KarteCore | イベントトラッキング機能を提供します。 | 2.33.0 |
6-
| KarteInAppMessaging | アプリ内メッセージ機能を提供します。 | 2.24.0 |
5+
| KarteCore | イベントトラッキング機能を提供します。 | 2.34.0 |
6+
| KarteInAppMessaging | アプリ内メッセージ機能を提供します。 | 2.25.0 |
77
| KarteRemoteNotification | プッシュ通知の受信および効果測定機能を提供します。 | 2.13.0 |
88
| KarteVariables | 設定値配信機能を提供します。 | 2.13.0 |
99
| KarteVisualTracking | ビジュアルトラッキング機能を提供します。 | 2.14.0 |
10-
| KarteInAppFrame | アプリ内埋め込みコンポーネント機能を提供します。 | 0.6.0 |
10+
| KarteInAppFrame | アプリ内埋め込みコンポーネント機能を提供します。 | 0.7.0 |
1111
| KarteCrashReporting | クラッシュイベントのトラッキング機能を提供します。 | 2.11.1 |
1212
| KarteUtilities | KarteCore モジュール等が利用するUtility機能を提供します。通常直接参照する必要はありません。 | 3.14.0 |
1313
| KarteNotificationServiceExtension | リッチプッシュ通知機能を提供します。 | 1.3.0 |
1414
| KarteDebugger | KARTE for Appのデバッグ機能を提供します。 | 1.1.0 |
1515

16+
# Releases - 2025.12.09
17+
## Version 2.31.0
18+
19+
### Core 2.34.0
20+
**💊FIXED**
21+
- lintの警告を修正しました
22+
23+
**🔨CHANGED**
24+
- 内部実装で未使用のプロトコルを削除しました。
25+
26+
### InAppMessaging 2.25.0
27+
**💊FIXED**
28+
- InAppMessaging 2.21.0以降、`InAppMessagingDelegate`の以下のメソッドが呼ばれなくなってしまった問題を修正しました。InAppMessaging 2.20.0以前と同様、対応する`onScene:`パラメータ付きの別メソッドが実装されていない場合には、これらのメソッドが呼ばれるようにしました。なお、後述するように、これらのメソッドは非推奨であり、別メソッドへの移行を推奨します。
29+
- `inAppMessagingWindowIsPresented(_:)`
30+
- `inAppMessagingWindowIsDismissed(_:)`
31+
- `inAppMessagingIsPresented(_:campaignId:shortenId:)`
32+
- `inAppMessagingIsDismissed(_:campaignId:shortenId:)`
33+
- `inAppMessaging(_:shouldOpenURL:)`
34+
- lintの警告を修正しました
35+
36+
**🔨CHANGED**
37+
- `InAppMessagingDelegate`の以下のメソッドを非推奨にしました。それぞれ対応する別のメソッドへの移行をお願いします:
38+
- `inAppMessagingWindowIsPresented(_:)``inAppMessagingWindowIsPresented(_:onScene:)` への移行を推奨
39+
- `inAppMessagingWindowIsDismissed(_:)``inAppMessagingWindowIsDismissed(_:onScene:)` への移行を推奨
40+
- `inAppMessagingIsPresented(_:campaignId:shortenId:)``inAppMessagingIsPresented(_:campaignId:shortenId:onScene:)` への移行を推奨
41+
- `inAppMessagingIsDismissed(_:campaignId:shortenId:)``inAppMessagingIsDismissed(_:campaignId:shortenId:onScene:)` への移行を推奨
42+
- `inAppMessaging(_:shouldOpenURL:)``inAppMessaging(_:shouldOpenURL:onScene:)` への移行を推奨
43+
- 内部実装のTypoを修正しました。
44+
- `InAppMessaging.processPool`プロパティを非推奨にしました。
45+
- このプロパティは将来のバージョンで削除される予定です。
46+
- processPoolはiOS15でDeprecatedになった`WKProcessPool`をセットするためのプロパティですが、iOS15以降では複数のWKProcessPoolを作成してもすべて同一のWKProcessPoolが共有されるように挙動が変更されたため、このプロパティに任意のWKProcessPoolをセットしても挙動に影響がない状態でした。
47+
- この変更によるクライアントアプリへの影響はありません。
48+
49+
### InAppFrame 0.7.0
50+
**💊FIXED**
51+
- lintの警告を修正しました。
52+
1653
# Releases - 2025.11.04
1754
## Version 2.30.1
1855

@@ -156,7 +193,7 @@
156193
**💊FIXED**
157194
- カルーセルが任意の横幅の場合でも見切れず表示されるように修正しました。
158195

159-
** 🔨CHANGED**
196+
**🔨CHANGED**
160197
- カルーセルタップ時の処理を行うコンポーネントをItemTapListenerからInAppFrameDelegateに変更しました。
161198

162199
# Releases - 2025.03.25

0 commit comments

Comments
 (0)