Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dogfood recent changes #1956

Merged
merged 68 commits into from
Jul 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
b4d6b68
Merge pull request #1808 from DataDog/release/2.11.0
maciejburda May 9, 2024
7309e5b
Merge pull request #1871 from DataDog/release/2.12.0
ncreated May 31, 2024
a1bcf3d
Merge pull request #1899 from DataDog/release/2.13.0
maciejburda Jun 13, 2024
90bfb2a
Record resources while processing snapshot
maxep Jun 20, 2024
cf7668f
Remove resources from recording result
maxep Jun 21, 2024
ca80219
Update snapshot tests
maxep Jun 21, 2024
c5e4dfc
Refactor Snapshot tests
mariedm Jun 26, 2024
c7f307a
Merge branch 'develop' of github.com:DataDog/dd-sdk-ios into mariedm/…
mariedm Jun 26, 2024
d2e5111
Add new files from develop branch merge
mariedm Jun 26, 2024
6cfaa79
Apply suggestions from code review
maxep Jun 27, 2024
8a44edd
Refactor date and time picker tests
mariedm Jun 27, 2024
09525bc
Merge branch 'develop' of github.com:DataDog/dd-sdk-ios into mariedm/…
mariedm Jun 27, 2024
e93563d
Merge pull request #1919 from DataDog/maxep/RUM-5004/revamp-resource-…
maxep Jun 28, 2024
968d942
RUM-5111: Update RUM and Telemetry models with KMP source
0xnm Jun 26, 2024
bb25c02
Merge branch 'develop' of github.com:DataDog/dd-sdk-ios into mariedm/…
mariedm Jun 28, 2024
5145031
Refactor popup vcs
mariedm Jun 28, 2024
b1ce789
RUM-1000 chore: improve telemetry messages for file I/O errors
ganeshnj Jun 24, 2024
c80c207
Merge pull request #1925 from DataDog/nogorodnikov/rum-5111/update-ru…
0xnm Jun 28, 2024
7c8a559
Merge pull request #1922 from DataDog/ganeshnj/chore/RUM-100-improve-…
ganeshnj Jun 28, 2024
763e756
chore: use otel-swift fork that only has APIs
ganeshnj Jun 28, 2024
80c2e80
Update CHANGELOG.md with 2.11.1 hotfix
ncreated Jul 1, 2024
78478d9
Merge pull request #1931 from DataDog/ncreated/chore/update-changelog…
ncreated Jul 1, 2024
a34e740
Merge pull request #1924 from DataDog/mariedm/chore/snapshot-tests-sm…
mariedm Jul 1, 2024
c70ef01
fix: send Watchdog Termination once only
ganeshnj Jul 1, 2024
1a61f0f
Merge pull request #1932 from DataDog/ganeshnj/fix/duplicate-wt-event
ganeshnj Jul 1, 2024
af5ef80
RUM-4150 [SR] Add Activity Indicator recorder
mariedm Jul 1, 2024
f6f5065
Merge branch 'develop' of github.com:DataDog/dd-sdk-ios into mariedm/…
mariedm Jul 1, 2024
d2a3158
RUM-4150 [SR] Update snapshot tests
mariedm Jul 2, 2024
c56ff7b
RUM-4150 [SR] Fix project.pbxproj
mariedm Jul 2, 2024
a6b7e5c
RUM-5174 Fix attributes objc interop
0xnm Jul 1, 2024
e8b4689
RUM-4150 Pin Otel version in Carfile
mariedm Jul 2, 2024
799a998
chore: Pin OpenTelemetryApi to expected version
ncreated Jul 2, 2024
1b775fb
chore: Enhance `make clean` for carthage smoke tests
ncreated Jul 2, 2024
e9a6f44
switch to the version
ganeshnj Jul 2, 2024
915d617
chore: Fix linter issue for `swiftlint` 0.55.1
ncreated Jul 2, 2024
c92c8b6
Merge pull request #1935 from DataDog/ncreated/chore/fix-otel-dep-in-…
ncreated Jul 2, 2024
4919d00
Merge pull request #1933 from DataDog/nogorodnikov/rum-5174/command-a…
0xnm Jul 2, 2024
145a402
Merge branch 'develop' of github.com:DataDog/dd-sdk-ios into mariedm/…
mariedm Jul 2, 2024
02832a4
fix: Watchdog Termination is not supported in Synthetics env
ganeshnj Jul 2, 2024
34a3978
Merge pull request #1936 from DataDog/ncreated/chore/fix-lint-issue-f…
ncreated Jul 3, 2024
6d48060
Merge pull request #1937 from DataDog/ganeshnj/fix/wt-s8s
ganeshnj Jul 3, 2024
13c7608
Merge pull request #1930 from DataDog/ganeshnj/chore/do-not-use-otel-…
ganeshnj Jul 3, 2024
0a01a15
Merge branch 'develop' of github.com:DataDog/dd-sdk-ios into mariedm/…
mariedm Jul 3, 2024
eed20be
feat: Replace use of #filePath with #fileID
fuzzybinary Jul 2, 2024
5e248fd
RUM-4150 Address comments
mariedm Jul 3, 2024
530c28e
RUM-4150 Remove unused line
mariedm Jul 3, 2024
dc33648
Merge pull request #1934 from DataDog/mariedm/feat/RUM-4150-activity-…
mariedm Jul 3, 2024
33cf1b9
Merge pull request #1938 from DataDog/jward/RUM-5155-fileId-over-file…
fuzzybinary Jul 3, 2024
5da9ef5
Bumped version to 2.14.0
maxep Jul 4, 2024
65edecc
Update CHANGELOG.md
maxep Jul 4, 2024
312e7c2
Merge pull request #1941 from DataDog/release/2.14.0
maxep Jul 4, 2024
a9bed81
Merge pull request #1942 from DataDog/release/2.14.0
maxep Jul 4, 2024
51e5a58
Update CHANGELOG.md
maxep Jul 4, 2024
72c95e5
Merge pull request #1944 from DataDog/maxep/fix-changelog
maxep Jul 4, 2024
0831868
RUM-5174 Fix attribute casting for objc interop
maxep Jul 8, 2024
07cccef
Update CHANGELOG.md
maxep Jul 8, 2024
2f117d4
Inject backtrace reporter into Logs feature
0xnm Jul 8, 2024
212c669
Merge pull request #1947 from DataDog/maxep/kmp-objc-swift-interop
maxep Jul 9, 2024
ef4dcda
Fix smoke tests by supplying required runtimes
ncreated Jul 9, 2024
04982c2
Merge pull request #1948 from DataDog/nogorodnikov/inject-backtrace-r…
0xnm Jul 9, 2024
a502d42
Bumped version to 2.14.1
maciejburda Jul 9, 2024
ca46ce6
Update CHANGELOG.md
maciejburda Jul 9, 2024
0730813
Merge pull request #1952 from DataDog/hotfix/2.14.1
ncreated Jul 10, 2024
0595d7d
RUM-4079 Migrate release pipeline to GitLab
ncreated Jul 4, 2024
7ea60ea
RUM-4079 Prettier
ncreated Jul 5, 2024
d25442a
RUM-4079 Cleanup
ncreated Jul 5, 2024
3a05078
RUM-4079 Clean repo artifact using `git clean -fxd`
ncreated Jul 9, 2024
2f9a7df
Merge pull request #1945 from DataDog/ncreated/RUM-4079/migrate-relea…
ncreated Jul 10, 2024
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
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ Carthage/Build
Carthage/Checkouts

xcuserdata/
instrumented-tests/DatadogSDKTesting.*
instrumented-tests/LICENSE

*.local.xcconfig

Expand All @@ -20,3 +18,7 @@ __pycache__
*.swp
.venv
.vscode
*.pytest_cache

# CI job artifacts
artifacts/
176 changes: 145 additions & 31 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,19 @@ stages:
- test
- ui-test
- smoke-test
- release-build
- release-publish

variables:
MAIN_BRANCH: "master"
DEVELOP_BRANCH: "develop"
# Prefilled variables for running a pipeline manually:
# Ref.: https://docs.gitlab.com/ee/ci/pipelines/index.html#prefill-variables-in-manual-pipelines
RELEASE_GIT_TAG:
description: "The Git tag for the release pipeline. If set, release pipeline will be triggered for the given tag."
RELEASE_DRY_RUN:
value: "1"
description: "Controls the dry run mode for the release pipeline. If set to '1', the pipeline will execute all steps but will not publish artifacts. If set to '0', the pipeline will run fully."

default:
tags:
Expand All @@ -18,35 +27,39 @@ default:
# │ Utility jobs: │
# └───────────────┘

# Trigger jobs on 'develop' and 'master' branches
.run:when-develop-or-master:
rules:
- if: '$CI_COMMIT_BRANCH == $DEVELOP_BRANCH || $CI_COMMIT_BRANCH == $MAIN_BRANCH'
when: always
# Utility jobs define rules for including or excluding dependent jobs from the pipeline.
#
# Ref.: https://docs.gitlab.com/ee/ci/jobs/job_rules.html
# > Rules are evaluated in order until the first match. When a match is found, the job is either included or excluded
# > from the pipeline, depending on the configuration.

# Trigger jobs on SDK code changes, comparing against 'develop' branch
.run:if-sdk-modified:
.test-pipeline-job:
rules:
- changes:
- if: '$CI_COMMIT_BRANCH == $DEVELOP_BRANCH || $CI_COMMIT_BRANCH == $MAIN_BRANCH' # always on main branches
- if: '$CI_COMMIT_BRANCH' # when on other branch with following changes compared to develop
changes:
paths:
- "Datadog*/**/*"
- "IntegrationTests/**/*"
- "TestUtilities/**/*"
- "*" # match any file in the root directory
compare_to: 'develop' # cannot use variable due to: https://gitlab.com/gitlab-org/gitlab/-/issues/369916
compare_to: 'develop' # cannot use $DEVELOP_BRANCH var due to: https://gitlab.com/gitlab-org/gitlab/-/issues/369916

# Trigger jobs on changes in `tools/*`, comparing against 'develop' branch
.run:if-tools-modified:
rules:
- changes:
paths:
- "tools/**/*"
- "Makefile"
- ".gitlab-ci.yml"
compare_to: 'develop'
.release-pipeline-job:
rules:
- if: '$CI_COMMIT_TAG || $RELEASE_GIT_TAG'

.release-pipeline-delayed-job:
rules:
- if: '$CI_COMMIT_TAG || $RELEASE_GIT_TAG'
when: delayed
start_in: 20 minutes

ENV check:
stage: pre
rules:
- !reference [.test-pipeline-job, rules]
- !reference [.release-pipeline-job, rules]
script:
- make env-check

Expand All @@ -57,8 +70,7 @@ ENV check:
Lint:
stage: lint
rules:
- !reference [.run:when-develop-or-master, rules]
- !reference [.run:if-sdk-modified, rules]
- !reference [.test-pipeline-job, rules]
script:
- make clean repo-setup ENV=ci
- make lint license-check
Expand All @@ -67,8 +79,8 @@ Lint:
Unit Tests (iOS):
stage: test
rules:
- !reference [.run:when-develop-or-master, rules]
- !reference [.run:if-sdk-modified, rules]
- !reference [.test-pipeline-job, rules]
- !reference [.release-pipeline-job, rules]
variables:
XCODE: "15.3.0"
OS: "17.4"
Expand All @@ -82,8 +94,8 @@ Unit Tests (iOS):
Unit Tests (tvOS):
stage: test
rules:
- !reference [.run:when-develop-or-master, rules]
- !reference [.run:if-sdk-modified, rules]
- !reference [.test-pipeline-job, rules]
- !reference [.release-pipeline-job, rules]
variables:
XCODE: "15.3.0"
OS: "17.4"
Expand All @@ -97,8 +109,8 @@ Unit Tests (tvOS):
UI Tests:
stage: ui-test
rules:
- !reference [.run:when-develop-or-master, rules]
- !reference [.run:if-sdk-modified, rules]
- !reference [.test-pipeline-job, rules]
- !reference [.release-pipeline-job, rules]
variables:
XCODE: "15.3.0"
OS: "17.4"
Expand All @@ -118,15 +130,23 @@ UI Tests:

Tools Tests:
stage: test
rules:
- !reference [.run:when-develop-or-master, rules]
- !reference [.run:if-tools-modified, rules]
rules:
- if: '$CI_COMMIT_BRANCH' # when on branch with following changes compared to develop
changes:
paths:
- "tools/**/*"
- "Makefile"
- ".gitlab-ci.yml"
compare_to: 'develop'
script:
- make clean repo-setup ENV=ci
- make tools-test

Smoke Tests (iOS):
stage: smoke-test
rules:
- !reference [.test-pipeline-job, rules]
- !reference [.release-pipeline-job, rules]
tags:
- macos:ventura
- specific:true
Expand All @@ -136,13 +156,16 @@ Smoke Tests (iOS):
PLATFORM: "iOS Simulator"
DEVICE: "iPhone 15 Pro"
script:
- ./tools/runner-setup.sh --xcode "$XCODE" --iOS --os "$OS" # temporary, waiting for AMI
- ./tools/runner-setup.sh --xcode "$XCODE" --iOS --tvOS --os "$OS" --ssh # temporary, waiting for AMI
- make clean repo-setup ENV=ci
- make spm-build-ios
- make smoke-test-ios-all OS="$OS" PLATFORM="$PLATFORM" DEVICE="$DEVICE"

Smoke Tests (tvOS):
stage: smoke-test
rules:
- !reference [.test-pipeline-job, rules]
- !reference [.release-pipeline-job, rules]
tags:
- macos:ventura
- specific:true
Expand All @@ -152,13 +175,16 @@ Smoke Tests (tvOS):
PLATFORM: "tvOS Simulator"
DEVICE: "Apple TV"
script:
- ./tools/runner-setup.sh --xcode "$XCODE" --tvOS --os "$OS" # temporary, waiting for AMI
- ./tools/runner-setup.sh --xcode "$XCODE" --iOS --tvOS --os "$OS" --ssh # temporary, waiting for AMI
- make clean repo-setup ENV=ci
- make spm-build-tvos
- make smoke-test-tvos-all OS="$OS" PLATFORM="$PLATFORM" DEVICE="$DEVICE"

Smoke Tests (visionOS):
stage: smoke-test
rules:
- !reference [.test-pipeline-job, rules]
- !reference [.release-pipeline-job, rules]
tags:
- macos:ventura
- specific:true
Expand All @@ -172,6 +198,9 @@ Smoke Tests (visionOS):

Smoke Tests (macOS):
stage: smoke-test
rules:
- !reference [.test-pipeline-job, rules]
- !reference [.release-pipeline-job, rules]
tags:
- macos:ventura
- specific:true
Expand All @@ -181,3 +210,88 @@ Smoke Tests (macOS):
- ./tools/runner-setup.sh --xcode "$XCODE" # temporary, waiting for AMI
- make clean repo-setup ENV=ci
- make spm-build-macos

# ┌──────────────┐
# │ SDK release: │
# └──────────────┘

.release-before-script: &export_MAKE_release_params
- export GIT_TAG=${RELEASE_GIT_TAG:-$CI_COMMIT_TAG} # CI_COMMIT_TAG if set, otherwise default to RELEASE_GIT_TAG
- if [ -z "$GIT_TAG" ]; then echo "GIT_TAG is not set"; exit 1; fi # sanity check
- export ARTIFACTS_PATH="artifacts/$GIT_TAG"
- export DRY_RUN=${CI_COMMIT_TAG:+0} # 0 if CI_COMMIT_TAG is set
- export DRY_RUN=${DRY_RUN:-$RELEASE_DRY_RUN} # otherwise default to RELEASE_DRY_RUN

Build Artifacts:
stage: release-build
rules:
- !reference [.release-pipeline-job, rules]
variables:
XCODE: "15.3.0"
artifacts:
paths:
- artifacts
expire_in: 4 weeks
before_script:
- *export_MAKE_release_params
script:
- ./tools/runner-setup.sh --xcode "$XCODE" --iOS --tvOS --os "17.4" --ssh # temporary, waiting for AMI
- make env-check
- make clean
- make release-build release-validate

Publish GH Asset:
stage: release-publish
rules:
- !reference [.release-pipeline-job, rules]
variables:
XCODE: "15.3.0"
before_script:
- *export_MAKE_release_params
script:
- ./tools/runner-setup.sh --xcode "$XCODE" --iOS --tvOS --os "17.4" # temporary, waiting for AMI
- make env-check
- make clean
- make release-publish-github

Publish CP podspecs (internal):
stage: release-publish
rules:
- !reference [.release-pipeline-job, rules]
variables:
XCODE: "15.3.0"
before_script:
- *export_MAKE_release_params
script:
- ./tools/runner-setup.sh --xcode "$XCODE" --iOS --tvOS --os "17.4" # temporary, waiting for AMI
- make env-check
- make clean
- make release-publish-internal-podspecs

Publish CP podspecs (dependent):
stage: release-publish
rules:
- !reference [.release-pipeline-delayed-job, rules]
variables:
XCODE: "15.3.0"
before_script:
- *export_MAKE_release_params
script:
- ./tools/runner-setup.sh --xcode "$XCODE" --iOS --tvOS --os "17.4" # temporary, waiting for AMI
- make env-check
- make clean
- make release-publish-dependent-podspecs

Publish CP podspecs (legacy):
stage: release-publish
rules:
- !reference [.release-pipeline-delayed-job, rules]
variables:
XCODE: "15.3.0"
before_script:
- *export_MAKE_release_params
script:
- ./tools/runner-setup.sh --xcode "$XCODE" --iOS --tvOS --os "17.4" # temporary, waiting for AMI
- make env-check
- make clean
- make release-publish-legacy-podspecs
29 changes: 27 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
# Unreleased

# 2.14.1 / 09-07-2024

- [FIX] Objc attributes interop for KMP. See [#1947][]
- [FIX] Inject backtrace reporter into Logs feature. See [#1948][]

# 2.14.0 / 04-07-2024

- [IMPROVEMENT] Use `#fileID` over `#filePath` as the default argument in errors. See [#1938][]
- [FEATURE] Add support for Watchdog Terminations tracking in RUM. See [#1917][] [#1911][] [#1912][] [#1889][]
- [IMPROVEMENT] Tabbar Icon Default Tint Color in Session Replay. See [#1906][]
- [IMPROVEMENT] Improve Nav Bar Support in Session Replay. See [#1916][]
- [IMPROVEMENT] Record Activity Indicator in Session Replay. See [#1934][]
- [IMPROVEMENT] Allow disabling app hang monitoring in ObjC API. See [#1908][]
- [IMPROVEMENT] Update RUM and Telemetry models with KMP source. See [#1925][]
- [IMPROVEMENT] Use otel-swift fork that only has APIs. See [#1930][]

# 2.11.1 / 01-07-2024

- [FIX] Fix compilation issues on Xcode 16 beta. See [#1898][]

# 2.13.0 / 13-06-2024

Expand Down Expand Up @@ -686,12 +703,20 @@ Release `2.0` introduces breaking changes. Follow the [Migration Guide](MIGRATIO
[#1828]: https://github.com/DataDog/dd-sdk-ios/pull/1828
[#1835]: https://github.com/DataDog/dd-sdk-ios/pull/1835
[#1886]: https://github.com/DataDog/dd-sdk-ios/pull/1886
[#1889]: https://github.com/DataDog/dd-sdk-ios/pull/1889
[#1898]: https://github.com/DataDog/dd-sdk-ios/pull/1898
[#1906]: https://github.com/DataDog/dd-sdk-ios/pull/1906
[#1908]: https://github.com/DataDog/dd-sdk-ios/pull/1908
[#1917]: https://github.com/DataDog/dd-sdk-ios/pull/1917
[#1911]: https://github.com/DataDog/dd-sdk-ios/pull/1911
[#1912]: https://github.com/DataDog/dd-sdk-ios/pull/1912
[#1889]: https://github.com/DataDog/dd-sdk-ios/pull/1889
[#1916]: https://github.com/DataDog/dd-sdk-ios/pull/1916
[#1917]: https://github.com/DataDog/dd-sdk-ios/pull/1917
[#1925]: https://github.com/DataDog/dd-sdk-ios/pull/1925
[#1930]: https://github.com/DataDog/dd-sdk-ios/pull/1930
[#1934]: https://github.com/DataDog/dd-sdk-ios/pull/1934
[#1938]: https://github.com/DataDog/dd-sdk-ios/pull/1938
[#1947]: https://github.com/DataDog/dd-sdk-ios/pull/1947
[#1948]: https://github.com/DataDog/dd-sdk-ios/pull/1948
[@00fa9a]: https://github.com/00FA9A
[@britton-earnin]: https://github.com/Britton-Earnin
[@hengyu]: https://github.com/Hengyu
Expand Down
2 changes: 1 addition & 1 deletion Cartfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github "microsoft/plcrashreporter" ~> 1.11.2
binary "https://raw.githubusercontent.com/DataDog/opentelemetry-swift-packages/main/OpenTelemetryApi.json" ~> 1.6.0
binary "https://raw.githubusercontent.com/DataDog/opentelemetry-swift-packages/main/OpenTelemetryApi.json" == 1.6.0
Loading