From 64644ff3838c059bd24d23f06e2065cac3a23ccd Mon Sep 17 00:00:00 2001 From: Masashi Katsumata Date: Mon, 17 Aug 2026 02:45:58 +0900 Subject: [PATCH] Build the module on every pull request MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The parent repository's api-surface.yml only runs on parent pull requests. This module lives in its own repository, so its own pull requests were never built by anything. android-sdk had the same hole: the standalone build was only exercised by the publish workflow, so it rotted unnoticed and the breakage surfaced on release day (todo/20260816.txt §8). Add a per-PR build here before the same thing happens on iOS. Only modules that need no vendor SDK can run in CI — the providers need redistribution-restricted SDKs (heresdk, ios-maps-sdk) or a token (Mapbox). This one depends on MapConductorCore alone. --- .github/workflows/build.yml | 41 +++++++++++++++++++++++++++++++++++++ .gitignore | 1 + 2 files changed, 42 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..19fd7f2 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,41 @@ +name: Build + +# 単体ビルドと公開 API サーフェスの検証。 +# +# ## なぜモジュール側に置くのか +# +# 親(ios-sdk)の api-surface.yml は親リポジトリの PR でしか回らない。 +# モジュールは独立したリポジトリなので、そちらの PR は誰も検証していなかった。 +# android-sdk では同じ穴が原因で、単体ビルドの設定が腐っていることに +# リリース当日まで気づけなかった(todo/20260816.txt §8)。 +# +# ## ここで回せるモジュールの条件 +# +# ベンダー SDK を必要としないこと。プロバイダの多くは再配布できない SDK +# (heresdk / ios-maps-sdk)やトークン(Mapbox)が要るので CI では組めない。 +# このモジュールは MapConductorCore にしか依存しないので回せる。 + +on: + pull_request: + workflow_dispatch: + +permissions: + contents: read + +jobs: + build: + runs-on: macos-15 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Show toolchain + run: xcodebuild -version && swift --version + + - name: Build + run: | + scheme=$(sed -n 's/^[[:space:]]*name: "\([^"]*\)".*/\1/p' Package.swift | head -1) + echo "scheme=$scheme" + xcodebuild -scheme "$scheme" \ + -destination 'generic/platform=iOS Simulator' \ + build diff --git a/.gitignore b/.gitignore index cab2f79..51c3b30 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ AGENTS.md CLAUDE.md Secrets.* .* +!.github !.gitignore !.gitkeep Packages/