Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/pbxproj-canonical.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: pbxproj canonical

on:
pull_request:
paths:
- "iOS_SDK/OneSignalSDK/OneSignal.xcodeproj/**"
- "Gemfile"
- "Gemfile.lock"
- ".github/workflows/pbxproj-canonical.yml"
push:
branches:
- main
paths:
- "iOS_SDK/OneSignalSDK/OneSignal.xcodeproj/**"
- "Gemfile"
- "Gemfile.lock"
- ".github/workflows/pbxproj-canonical.yml"

jobs:
check:
name: OneSignal.xcodeproj is gem-canonical
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true

- name: Ensure OneSignal.xcodeproj save is a no-op
run: |
bundle exec ruby -e 'require "xcodeproj"; Xcodeproj::Project.open("iOS_SDK/OneSignalSDK/OneSignal.xcodeproj").save'
if ! git diff --exit-code -- iOS_SDK/OneSignalSDK/OneSignal.xcodeproj; then
echo "::error::OneSignal.xcodeproj is not canonical for the pinned xcodeproj gem. Open and save with: bundle exec ruby -e 'require \"xcodeproj\"; Xcodeproj::Project.open(\"iOS_SDK/OneSignalSDK/OneSignal.xcodeproj\").save'"
exit 1
fi
8 changes: 8 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# frozen_string_literal: true

source "https://rubygems.org"

# Pin so OneSignal.xcodeproj "canonical" order is reproducible across machines.
# Older xcodeproj (e.g. 1.25) rewrites HEADER_SEARCH_PATHS quoting on save.
# Do not gem-normalize examples/demo/App.xcodeproj — that project is XcodeGen-owned.
gem "xcodeproj", "1.28.1"
30 changes: 30 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.8)
atomos (0.1.3)
base64 (0.3.0)
claide (1.1.0)
colored2 (3.1.2)
nanaimo (0.4.0)
nkf (0.3.0)
rexml (3.4.4)
xcodeproj (1.28.1)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
base64
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
nkf
rexml (>= 3.3.6, < 4.0)

PLATFORMS
ruby
x86_64-darwin-23

DEPENDENCIES
xcodeproj (= 1.28.1)

BUNDLED WITH
2.7.2
Loading
Loading