Skip to content
Merged
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
25 changes: 23 additions & 2 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,21 @@ on:
type: string
required: false
default: ''
release-cards:
description: Whether to release Cards
type: boolean
required: false
default: true
release-geofence:
description: Whether to release Geofence
type: boolean
required: false
default: true
release-inbox:
description: Whether to release Inbox
type: boolean
required: false
default: true

jobs:
release:
Expand All @@ -24,8 +39,6 @@ jobs:
path: scripts
repository: moengage/sdk-automation-scripts
token: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}
fetch-depth: 0
fetch-tags: true

- name: Setup dev environment
uses: ./scripts/actions/ios-action-setup
Expand All @@ -49,3 +62,11 @@ jobs:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
MO_RELEASE_TICKET: ${{ inputs.ticket }}
MO_SDK_DEPENDENCY_VERSION: ${{ inputs.sdk-version }}

- name: Release dependents
run: ${{ github.workspace }}/source/Utilities/release_dependents.rb
working-directory: source
env:
GH_TOKEN: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}
GITHUB_TOKEN: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}
MO_WORKFLOW_INPUTS: ${{ toJSON(inputs) }}
90 changes: 90 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Run tests

on:
pull_request:
workflow_dispatch:
inputs:
environment_variables:
description: Custom space separated environment variables, that can be used for setup task
type: string
required: false
default: ''

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
cocoapods:
name: Build and run tests for CocoaPods
runs-on: macos-15

steps:
- name: Set custom environment variables
if: github.event_name == 'workflow_dispatch'
run: |
VARIABLES=(${{ inputs.environment_variables }})
for variable in ${VARIABLES[@]}; do
echo "$variable" >> $GITHUB_ENV
done

- name: Checkout scripts
uses: actions/checkout@v4
with:
token: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}
path: scripts
repository: moengage/sdk-automation-scripts

- name: Setup dev environment
uses: ./scripts/actions/ios-action-setup
env:
SDK_BOT_ACCESS_TOKEN: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}

- name: Checkout source repository
uses: actions/checkout@v4
with:
token: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}
path: source

- name: Build and Run tests
working-directory: ./source
run: pod lib lint --allow-warnings --skip-import-validation

swift-package:
name: Build and run tests for Swift Package Manager
runs-on: macos-15

steps:
- name: Set custom environment variables
if: github.event_name == 'workflow_dispatch'
run: |
VARIABLES=(${{ inputs.environment_variables }})
for variable in ${VARIABLES[@]}; do
echo "$variable" >> $GITHUB_ENV
done

- name: Checkout scripts
uses: actions/checkout@v4
with:
token: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}
path: scripts
repository: moengage/sdk-automation-scripts

- name: Setup dev environment
uses: ./scripts/actions/ios-action-setup
env:
SDK_BOT_ACCESS_TOKEN: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}

- name: Checkout source repository
uses: actions/checkout@v4
with:
token: ${{ secrets.SDK_BOT_ACCESS_TOKEN }}
path: source

- name: Validate CHANGELOG
run: ${{ github.workspace }}/scripts/scripts/release/ios/validate_changelog.rb
working-directory: ./source

- name: Build and Run tests
run: ${{ github.workspace }}/scripts/scripts/release/ios/build_swift_package.rb
working-directory: ./source
79 changes: 58 additions & 21 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
# OS X
.DS_Store

# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings
xcuserdata/

## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout
.DS_Store
Thumbs.db

## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
## Build generated
build/
DerivedData/
*.moved-aside

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
Expand All @@ -24,23 +18,48 @@ DerivedData/
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
*.xcuserstate

## Obj-C/Swift specific
*.hmap
*.xcodeproj/project.xcworkspace/xcuserdata
*.xcodeproj/project.xcworkspace/xcshareddata

## App packaging
*.ipa
*.dSYM.zip
*.dSYM
## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint


# Obj-C/Swift specific
#
# *.hmap
# *.ipa
# *.dSYM.zip
# *.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
.swiftpm
Packages/
Package.pins
Package.resolved
.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#

Pods/
Podfile.lock

#
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace
Expand All @@ -50,12 +69,16 @@ Podfile.lock
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build/
# Carthage/Build

# Accio dependency management
Dependencies/
.accio/

# fastlane
#
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control

Expand All @@ -69,4 +92,18 @@ fastlane/test_output
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode

iOSInjectionProject/
# iOSInjectionProject/

# Binary files
XCFramework/
XCArchive/
*.xcarchive
*.xcframework
*.zip
*.ipa

# API doc
apidoc/

# Code coverage
coverage/
14 changes: 0 additions & 14 deletions .travis.yml

This file was deleted.

6 changes: 6 additions & 0 deletions MoEngagePluginBase/CHANGELOG.md → CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Release Date

## Release Version

- [minor] Added Swift Package Manager distribution support

# 17-10-2025

## 6.6.1
Expand Down
Loading
Loading