Skip to content

iOS CD

iOS CD #36

Workflow file for this run

name: iOS CD
on:
workflow_dispatch:
inputs:
version:
type: string
description: "The version number of the release"
required: true
release_branch:
type: string
description: "The release branch with bumped version numbers for the release"
required: true
jobs:
build:
name: Build the binaries for the release and create a PR
runs-on: macos-13
steps:
- name: setup xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '14.1'
- name: Checkout OneSignal-iOS-SDK
uses: actions/checkout@v4
with:
ref: ${{github.event.inputs.release_branch}}
- name: Install the Apple distribution certificate and provisioning profile
uses: apple-actions/import-codesign-certs@v2
with:
keychain-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
- name: Install the Apple distribution certificate and provisioning profile
uses: apple-actions/import-codesign-certs@v2
with:
create-keychain: false # do not create a new keychain for this value
keychain-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
p12-file-base64: ${{ secrets.DEV_CERTIFICATES_P12 }}
p12-password: ${{ secrets.DEV_CERTIFICATES_P12_PASSWORD }}
# - name: Bump Version Number
# run: |
- name: Build Binaries
run: |
cd iOS_SDK/OneSignalSDK
chmod +x ./build_all_frameworks.sh
./build_all_frameworks.sh
shell: bash
- name: Code Sign
run: |
cd iOS_SDK/OneSignalSDK
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_Core/OneSignalCore.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_Extension/OneSignalExtension.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_InAppMessages/OneSignalInAppMessages.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_Location/OneSignalLocation.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_Notifications/OneSignalNotifications.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_OSCore/OneSignalOSCore.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_Outcomes/OneSignalOutcomes.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_User/OneSignalUser.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_XCFramework/OneSignalFramework.xcframework
codesign --timestamp -v --sign "Apple Distribution: OneSignal, Inc. (J3J28YJX9L)" OneSignal_LiveActivities/OneSignalLiveActivities.xcframework
shell: bash
- name: Update Swift Package
run: |
cd iOS_SDK/OneSignalSDK
chmod +x ./update_swift_package.sh
./update_swift_package.sh ${{github.event.inputs.version}}
shell: bash
- name: Commit Changes
run: |
git config --local user.email "noreply@onesignal.com"
git config --local user.name "SyncR 🤖"
git add .
git commit -m "Release ${{github.event.inputs.version}}"
- name: Pushing changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repository: 'OneSignal/OneSignal-iOS-SDK'
force: true
branch: ${{github.event.inputs.release_branch}}
- name: "Submitting PR"
uses: octokit/request-action@v2.x
with:
route: POST /repos/{owner}/{repo}/pulls
owner: OneSignal
repo: OneSignal-iOS-SDK
head: ${{github.event.inputs.release_branch}}
base: main
title: |
"Release ${{github.event.inputs.version}}"
body: |
"Add Release Notes For Review Here"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}