From 6bfca42cd6a06f57207aaae2d388cc95d406e174 Mon Sep 17 00:00:00 2001 From: cuiko Date: Sat, 23 May 2026 02:15:49 +0800 Subject: [PATCH] ci: Add macOS build workflow Run \`make build\` on every push to main and every pull request so broken Swift sources or a regressed Makefile fail fast instead of being discovered at release time. Forward-compatible with the upcoming SPM refactor: both the current \`swiftc\`-based Makefile and the SPM-wrapped \`Scripts/package-app.sh\` produce \`build/TermIMS.app\`, which the post- build verification step asserts is signed and has a valid Info.plist. --- .github/workflows/build.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 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..cac6ad8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,22 @@ +name: build + +on: + push: + branches: [main] + pull_request: + +jobs: + build: + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + - name: Show toolchain + run: swift --version + - name: Build .app bundle + run: make build + - name: Verify bundle + run: | + test -x build/TermIMS.app/Contents/MacOS/TermIMS + test -f build/TermIMS.app/Contents/Info.plist + plutil -lint build/TermIMS.app/Contents/Info.plist + codesign --verify --verbose=2 build/TermIMS.app