Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
422f442
test: Add test coverage for logCommerceEvent and logEvent (#414)
nickolas-dimitrakas Sep 22, 2025
7357c77
test: add test coverage for log ltv increase methods (#417)
nickolas-dimitrakas Sep 23, 2025
d217a30
initialize trunk
nickolas-dimitrakas Sep 26, 2025
928db6a
adjustment to trunk config
nickolas-dimitrakas Sep 26, 2025
2c58f33
need to remove yamllint from enabled
nickolas-dimitrakas Sep 26, 2025
f7384a9
add swiftlint and swiftformat
nickolas-dimitrakas Sep 26, 2025
8ddc172
add react native gemfile to ignored
nickolas-dimitrakas Sep 26, 2025
3816a59
format
nickolas-dimitrakas Sep 26, 2025
745877b
ci: Update Release YML to release from Main (#415)
BrandonStalnaker Sep 29, 2025
7facd0d
test: repurpose MPSwiftTests and cover MPEvent (#420)
nickolas-dimitrakas Sep 29, 2025
67092e0
test: SDKE-255 Add test coverage for add test coverage for leave brea…
denischilik Sep 30, 2025
52b3a87
remove unused linters and add comments for clarity
nickolas-dimitrakas Sep 30, 2025
95c0a5a
Revert "format"
nickolas-dimitrakas Sep 30, 2025
29bba00
format with new config
nickolas-dimitrakas Sep 30, 2025
b5ad4a6
Merge branch 'development' into feat/implement-trunk-tool
nickolas-dimitrakas Sep 30, 2025
b76b520
add objc formatter
nickolas-dimitrakas Sep 30, 2025
4dd23e3
objc formatting
nickolas-dimitrakas Sep 30, 2025
6af548f
Revert "objc formatting"
nickolas-dimitrakas Sep 30, 2025
945a30c
Revert "add objc formatter"
nickolas-dimitrakas Sep 30, 2025
246d2b5
added basic swift configs for trunk to use
nickolas-dimitrakas Sep 30, 2025
5f10849
Merge branch 'main' into feat/implement-trunk-tool
nickolas-dimitrakas Oct 1, 2025
6da6fd1
remove duplicated funcs from merge
nickolas-dimitrakas Oct 1, 2025
1d35bc1
format build and lint file
nickolas-dimitrakas Oct 1, 2025
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
4 changes: 2 additions & 2 deletions .github/workflows/build-and-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v5

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app

- name: Update xcodeproj gem
run: sudo gem install xcodeproj

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-secondary-platforms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app

- name: Add React Native cli
run: yarn add -D @react-native-community/cli

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cross-platform-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: ios-test-results
path: Users/runner/Library/Developer/Xcode/DerivedData
path: Users/runner/Library/Developer/Xcode/DerivedData
2 changes: 1 addition & 1 deletion .github/workflows/issue-autorespond-and-close.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ jobs:
with:
issue_number: ${{ github.event.issue.number }}
repository: ${{ github.repository }}
user_login: ${{ github.event.issue.user.login }}
user_login: ${{ github.event.issue.user.login }}
2 changes: 1 addition & 1 deletion .github/workflows/native-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ jobs:

- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app

- name: Run iOS unit tests
run: xcodebuild -project mParticle-Apple-SDK.xcodeproj -scheme ${{ matrix.scheme }} -destination 'platform=${{ matrix.platform }} Simulator,name=${{ matrix.device }},OS=latest' test
9 changes: 9 additions & 0 deletions .trunk/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
*out
*logs
*actions
*notifications
*tools
plugins
user_trunk.yaml
user.yaml
tmp
2 changes: 2 additions & 0 deletions .trunk/configs/.isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[settings]
profile=black
2 changes: 2 additions & 0 deletions .trunk/configs/.markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Prettier friendly markdownlint config (all formatting rules disabled)
extends: markdownlint/style/prettier
7 changes: 7 additions & 0 deletions .trunk/configs/.shellcheckrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
enable=all
source-path=SCRIPTDIR
disable=SC2154

# If you're having issues with shellcheck following source, disable the errors via:
# disable=SC1090
# disable=SC1091
117 changes: 117 additions & 0 deletions .trunk/configs/.swiftformat
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
--swiftversion 5.9
--acronyms ID,URL,UUID
--allman false
--anonymousforeach convert
--assetliterals visual-width
--asynccapturing
--beforemarks
--binarygrouping none
--callsiteparen default
--categorymark "MARK: %c"
--classthreshold 0
--closingparen balanced
--closurevoid remove
--commas inline
--complexattrs preserve
--computedvarattrs preserve
--condassignment after-property
--conflictmarkers reject
--dateformat system
--decimalgrouping none
--doccomments before-declarations
--elseposition same-line
--emptybraces no-space
--enumnamespaces always
--enumthreshold 0
--exponentcase lowercase
--exponentgrouping disabled
--extensionacl on-extension
--extensionlength 0
--extensionmark "MARK: - %t + %c"
--fractiongrouping disabled
--fragment false
--funcattributes preserve
--generictypes
--groupedextension "MARK: %c"
--guardelse auto
--header ignore
--hexgrouping none
--hexliteralcase uppercase
--ifdef no-indent
--importgrouping alpha
--indent 4
--indentcase false
--indentstrings false
--initcodernil false
--lifecycle
--lineaftermarks true
--linebreaks lf
--markcategories true
--markextensions always
--marktypes always

# Wrap lines that exceed the specified maximum width.
--rules wrap
--maxwidth 130

--modifierorder
--nevertrailing
--nilinit remove
--noncomplexattrs
--nospaceoperators ...,..<,/
--nowrapoperators
--octalgrouping none
--onelineforeach ignore
--operatorfunc spaced
--organizationmode visibility
--organizetypes actor,class,enum,struct
--patternlet inline
--ranges spaced
--redundanttype infer-locals-only
--self remove
--selfrequired
--semicolons never
--shortoptionals except-properties
--smarttabs enabled
--someany true
--storedvarattrs preserve
--stripunusedargs closure-only
--structthreshold 0
--tabwidth unspecified
--throwcapturing
--timezone system
--trailingclosures
--trimwhitespace always
--typeattributes preserve
--typeblanklines remove
--typedelimiter space-after
--typemark "MARK: - %t"
--voidtype void
--wraparguments preserve
--wrapcollections preserve
--wrapconditions preserve
--wrapeffects preserve
--wrapenumcases always
--wrapparameters default
--wrapreturntype preserve
--wrapternary default
--wraptypealiases preserve
--xcodeindentation disabled
--yodaswap always
--rules blankLinesAroundMark
--rules isEmpty
# Replace consecutive blank lines with a single blank line.
--rules consecutiveBlankLines

# Replace consecutive spaces with a single space.
--rules consecutiveSpaces
--rules spaceAroundOperators
--operatorfunc spaced

# Add or remove space around parentheses.
--rules spaceAroundParens
--rules spaceInsideParens

# Mark unused function arguments with _.
--rules unusedArguments
--stripunusedargs closure-only
22 changes: 22 additions & 0 deletions .trunk/configs/.swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
disabled_rules: # rule identifiers to exclude from running
- identifier_name
- force_cast
- weak_delegate
- function_parameter_count
- file_length
- type_body_length
- cyclomatic_complexity
- function_body_length

line_length:
warning: 130
error: 160
ignores_comments: true
ignores_urls: true

type_name:
min_length: 1
max_length: 40

excluded: # paths to ignore during linting. Takes precedence over `included`.
- UnitTests
7 changes: 7 additions & 0 deletions .trunk/configs/.yamllint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
rules:
quoted-strings:
required: only-when-needed
extra-allowed: ["{|}"]
key-duplicates: {}
octal-values:
forbid-implicit-octal: true
5 changes: 5 additions & 0 deletions .trunk/configs/ruff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Generic, formatter-friendly config.
select = ["B", "D3", "E", "F"]

# Never enforce `E501` (line length violations). This should be handled by formatters.
ignore = ["E501"]
54 changes: 54 additions & 0 deletions .trunk/trunk.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# This file controls the behavior of Trunk: https://docs.trunk.io/cli
# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml
version: 0.1
cli:
version: 1.25.0
sha256:
darwin_arm64: 2cff4f1cc63916db290359a058b88167beeac07a496682d9307a1804b498f225
darwin_x86_64: d0153b87a7eba4cd7d09a048b97bd60ac3ac15352def2bc3599d548875823ed3
linux_arm64: cc210d2185cf95bedbec06384be6ef342bdb7dcf3ff72dd08fe0e69859516887
linux_x86_64: 3845ff76a70cebb10e61a267ff719ffdccfa3ef6d877d51870a2c62b79603ab9
mingw_x86_64: 739f6aabc91d9ba4bce894314e01ab56d2c11b573c921b6f8caed6393c66c5f1
windows_x86_64: d883930b487d12a47e2c42fb83391417db4c4254c7346720c11e6a947c305a2c
# Trunk provides extensibility via plugins. (https://docs.trunk.io/plugins)
plugins:
sources:
- id: trunk
ref: v1.7.2
uri: https://github.com/trunk-io/plugins
# Many linters and tools depend on runtimes - configure them here. (https://docs.trunk.io/runtimes)
runtimes:
enabled:
- [email protected]
- [email protected]
- [email protected]
# This is the section where you manage your linters. (https://docs.trunk.io/check/configuration)
lint:
enabled:
- [email protected] # Validates GitHub Actions workflows for syntax and logic errors
- git-diff-check # Ensures only allowed changes are staged (enforces diff-based policies)
- [email protected] # Checks Markdown files for style consistency and common issues
- [email protected] # Scans dependencies for known vulnerabilities using OSV database
- [email protected] # Formatter for JavaScript, TypeScript, JSON, CSS, Markdown, etc.
- [email protected] # Detects bugs and best-practice issues in shell scripts
- [email protected] # Formats shell scripts for consistent style
- [email protected] # Scans code and git history for secrets (API keys, passwords, etc.)
- [email protected] # Lints Swift code against style & convention rules
- [email protected] # Automatically formats Swift code to follow style guidelines
disabled:
- yamllint
ignore:
- linters: [ALL]
paths:
- Example/Pods
- Example/Podfile.lock
- RNExample/Gemfile.lock
- RNExample/Gemfile

actions:
enabled:
- trunk-announce
- trunk-check-pre-push
- trunk-check-pre-push-always
- trunk-fmt-pre-commit
- trunk-upgrade-available
4 changes: 4 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Architecture

## mParticle Initialization Sequence Diagram

![mParticle Initialization Sequence Diagram](.github/mParticle-Initialization-Sequence-Diagram.png?raw=true)

## mParticle Event Flow Diagram

![mParticle Event Flow](.github/mParticle-Event-Flow.png?raw=true)
Loading
Loading