Skip to content

Commit

Permalink
Merge pull request #340 from bugsnag/release-v1.10.2
Browse files Browse the repository at this point in the history
Release v1.10.2
  • Loading branch information
robert-smartbear authored Oct 31, 2024
2 parents 044cc5a + 66ab32b commit d545ead
Show file tree
Hide file tree
Showing 31 changed files with 1,372 additions and 128 deletions.
157 changes: 122 additions & 35 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,15 @@ steps:
- group: ":hammer: Builds"
steps:
- label: "XCFramework"
key: xcframework
timeout_in_minutes: 20
commands:
- make build_xcframework
plugins:
- artifacts#v1.9.3:
upload: "BugsnagPerformance.xcframework.zip"
upload:
- "BugsnagPerformance.xcframework.zip"
- "BugsnagPerformanceSwift.xcframework.zip"

- label: "Carthage"
commands:
Expand All @@ -26,6 +29,7 @@ steps:
commands:
- bundle install
- pod lib lint BugsnagPerformance.podspec.json
skip: "Skipped due to https://github.com/CocoaPods/CocoaPods/issues/12664"

- label: "Example"
commands:
Expand All @@ -43,6 +47,23 @@ steps:
- features/fixtures/ios/output/bb_ipa_url.txt
- features/fixtures/ios/output/bs_ipa_url.txt

- label: "XcFramework Fixture"
key: ios_xcframework_fixture
depends_on: xcframework
commands:
- ./features/fixtures/ios/build_xcframework.sh
- bundle install
- bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/FixtureXcFramework.ipa --app-id-file=./features/fixtures/ios/output/bb_xcframework_ipa_url.txt
- bundle exec upload-app --farm=bs --app=./features/fixtures/ios/output/FixtureXcFramework.ipa --app-id-file=./features/fixtures/ios/output/bs_xcframework_ipa_url.txt
plugins:
- artifacts#v1.9.3:
download:
- "BugsnagPerformance.xcframework.zip"
- "BugsnagPerformanceSwift.xcframework.zip"
artifact_paths:
- features/fixtures/ios/output/bb_xcframework_ipa_url.txt
- features/fixtures/ios/output/bs_xcframework_ipa_url.txt

- label: "Fixture swizzling disabled"
key: ios_fixture_swizzling_disabled
commands:
Expand Down Expand Up @@ -85,8 +106,39 @@ steps:
#
# BitBar
#
- group: ":bitbar: E2E Tests"
- group: "E2E Tests"
steps:
- label: ":browserstack: iOS 18 E2E Tests"
depends_on:
- ios_fixture
timeout_in_minutes: 30
agents:
queue: opensource
plugins:
artifacts#v1.9.3:
download: "features/fixtures/ios/output/bs_ipa_url.txt"
upload:
- "maze_output/failed/**/*"
- "maze_output/metrics.csv"
- "maze_output/maze_output.zip"
docker-compose#v4.8.0:
pull: maze-runner-bs
run: maze-runner-bs
service-ports: true
command:
- "--app=@build/bs_ipa_url.txt"
- "--device=IOS_18"
- "--fail-fast"
- "--farm=bs"
- "features/default"
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^main|next$$"
concurrency: 5
concurrency_group: browserstack-app
concurrency_method: eager

- label: ":bitbar: iOS 16 E2E Tests"
depends_on:
- ios_fixture
Expand Down Expand Up @@ -219,6 +271,74 @@ steps:
concurrency_group: bitbar-app
concurrency_method: eager

- group: ":bitbar: XcFramework E2E Tests"
steps:
- label: ":browserstack: iOS XcFramework 18 E2E Tests"
depends_on:
- ios_xcframework_fixture
timeout_in_minutes: 30
agents:
queue: opensource
plugins:
artifacts#v1.9.3:
download: "features/fixtures/ios/output/bs_xcframework_ipa_url.txt"
upload:
- "maze_output/failed/**/*"
- "maze_output/metrics.csv"
- "maze_output/maze_output.zip"
docker-compose#v4.8.0:
pull: maze-runner-bs
run: maze-runner-bs
service-ports: true
command:
- "--app=@build/bs_xcframework_ipa_url.txt"
- "--device=IOS_18"
- "--fail-fast"
- "--farm=bs"
- "--exclude=features/default/automatic_spans_generic_view_load.feature"
- "features/default/automatic_spans.feature"
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^main|next$$"
concurrency: 5
concurrency_group: browserstack-app
concurrency_method: eager

- label: ":bitbar: iOS XcFramework 13 E2E Tests"
depends_on:
- ios_xcframework_fixture
timeout_in_minutes: 30
agents:
queue: opensource
plugins:
artifacts#v1.9.3:
download: "features/fixtures/ios/output/bb_xcframework_ipa_url.txt"
upload:
- "maze_output/failed/**/*"
- "maze_output/metrics.csv"
- "maze_output/maze_output.zip"
docker-compose#v4.8.0:
pull: maze-runner-bb
run: maze-runner-bb
service-ports: true
command:
- "--app=@build/bb_xcframework_ipa_url.txt"
- "--device=IOS_13"
- "--fail-fast"
- "--farm=bb"
- "--no-tunnel"
- "--aws-public-ip"
- "--exclude=features/default/automatic_spans_generic_view_load.feature"
- "features/default/automatic_spans.feature"
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^main|next$$"
concurrency: 25
concurrency_group: bitbar-app
concurrency_method: eager

- group: ":bitbar: Swizzling disabled E2E Tests"
steps:
- label: ":bitbar: iOS 16 E2E Tests swizzling disabled"
Expand Down Expand Up @@ -350,36 +470,3 @@ steps:
concurrency: 25
concurrency_group: bitbar-app
concurrency_method: eager

#
# BrowserStack
# TODO - To be moved to BitBar once they provide iOS 17.
- label: ":browserstack: iOS 17 E2E Tests"
depends_on:
- ios_fixture
timeout_in_minutes: 30
agents:
queue: opensource
plugins:
artifacts#v1.9.3:
download: "features/fixtures/ios/output/bs_ipa_url.txt"
upload:
- "maze_output/failed/**/*"
- "maze_output/metrics.csv"
- "maze_output/maze_output.zip"
docker-compose#v4.8.0:
pull: maze-runner-bs
run: maze-runner-bs
command:
- "--app=@build/bs_ipa_url.txt"
- "--device=IOS_17"
- "--fail-fast"
- "--farm=bs"
- "features/default"
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^main|next$$"
concurrency: 5
concurrency_group: browserstack-app
concurrency_method: eager
8 changes: 6 additions & 2 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
name: "Pull Request"
on: [pull_request]
permissions: read-all

jobs:
danger:
permissions:
pull-requests: write
statuses: write
runs-on: macos-latest
steps:
- name: Checkout target branch
uses: actions/checkout@v2
uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
with:
ref: ${{ github.base_ref }}
- name: Build
run: xcodebuild -scheme BugsnagPerformance-iOS -destination generic/platform=iOS -configuration Release -quiet -derivedDataPath $PWD/DerivedData.old VALID_ARCHS=arm64
- name: Checkout pull request merge branch
uses: actions/checkout@v2
uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
with:
clean: false
fetch-depth: 100
Expand Down
4 changes: 2 additions & 2 deletions .jazzy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ author_url: "https://www.bugsnag.com"
author: "Bugsnag Inc"
clean: false # avoid deleting docs/.git
framework_root: "BugsnagPerformance"
github_file_prefix: "https://github.com/bugsnag/bugsnag-cocoa-performance/tree/v1.10.1/Bugsnag"
github_file_prefix: "https://github.com/bugsnag/bugsnag-cocoa-performance/tree/v1.10.2/Bugsnag"
github_url: "https://github.com/bugsnag/bugsnag-cocoa-performance"
hide_documentation_coverage: true
module: "BugsnagPerformance"
module_version: "1.10.1"
module_version: "1.10.2"
objc: true
output: "docs"
readme: "README.md"
Expand Down
4 changes: 2 additions & 2 deletions BugsnagPerformance.podspec.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "BugsnagPerformance",
"version": "1.10.1",
"version": "1.10.2",
"summary": "The Bugsnag performance monitoring framework for iOS.",
"homepage": "https://github.com/bugsnag/bugsnag-cocoa-performance",
"license": {
Expand All @@ -12,7 +12,7 @@
},
"source": {
"git": "https://github.com/bugsnag/bugsnag-cocoa-performance.git",
"tag": "v1.10.1"
"tag": "v1.10.2"
},
"platforms": {
"ios": "13.0"
Expand Down
8 changes: 8 additions & 0 deletions BugsnagPerformance.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@
966DD5012A211D7F002030B2 /* BugsnagPerformance.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72E4BB63359EA30E80116E2A /* BugsnagPerformance.framework */; };
966DD5022A211D7F002030B2 /* BugsnagPerformance.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 72E4BB63359EA30E80116E2A /* BugsnagPerformance.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
967F6F1829C3783B0054EED8 /* BugsnagPerformanceConfiguration+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 967F6F1729C3782D0054EED8 /* BugsnagPerformanceConfiguration+Private.h */; };
968AA5FB2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 968AA5FA2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h */; };
968AA5FD2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 968AA5FC2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm */; };
96D415F329E6ADC500AEE435 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96D415F229E6ADC500AEE435 /* AppDelegate.swift */; };
96D415F729E6ADC500AEE435 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96D415F629E6ADC500AEE435 /* ViewController.swift */; };
96D415FA29E6ADC500AEE435 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 96D415F829E6ADC500AEE435 /* Main.storyboard */; };
Expand Down Expand Up @@ -322,6 +324,8 @@
966634D92C8A39B1004A934D /* FrozenFrameData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrozenFrameData.h; sourceTree = "<group>"; };
966634DB2C8A39C1004A934D /* FrozenFrameData.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FrozenFrameData.mm; sourceTree = "<group>"; };
967F6F1729C3782D0054EED8 /* BugsnagPerformanceConfiguration+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagPerformanceConfiguration+Private.h"; sourceTree = "<group>"; };
968AA5FA2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGPerformanceSharedSessionProxy.h; sourceTree = "<group>"; };
968AA5FC2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BSGPerformanceSharedSessionProxy.mm; sourceTree = "<group>"; };
96D415F029E6ADC500AEE435 /* BugsnagPerformanceTestsApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BugsnagPerformanceTestsApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
96D415F229E6ADC500AEE435 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
96D415F629E6ADC500AEE435 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -780,6 +784,8 @@
children = (
CB34771C29068C350033759C /* BSGURLSessionPerformanceProxy.h */,
CB34771B29068C350033759C /* BSGURLSessionPerformanceProxy.mm */,
968AA5FA2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h */,
968AA5FC2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm */,
CBA22C982A03EA300066A2C1 /* NetworkCommon.h */,
CB34771D29068C350033759C /* NSURLSession+Instrumentation.h */,
CB34771A29068C350033759C /* NSURLSession+Instrumentation.mm */,
Expand Down Expand Up @@ -861,6 +867,7 @@
CBEC51BC296D9EEE009C0CE3 /* PersistentState.h in Headers */,
0122C23829019770002D243C /* BugsnagPerformanceSpan.h in Headers */,
966634DA2C8A39B1004A934D /* FrozenFrameData.h in Headers */,
968AA5FB2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h in Headers */,
CB0AD76A296573FC002A3FB6 /* BugsnagPerformanceErrors.h in Headers */,
0122C23B29019770002D243C /* BugsnagPerformance.h in Headers */,
0122C24B29019770002D243C /* ViewLoadInstrumentation.h in Headers */,
Expand Down Expand Up @@ -1212,6 +1219,7 @@
966634DC2C8A39C1004A934D /* FrozenFrameData.mm in Sources */,
0122C23E29019770002D243C /* BugsnagPerformanceSpan.mm in Sources */,
0987F27A2C32D4AD00777FD8 /* BugsnagPerformanceSpanContext.mm in Sources */,
968AA5FD2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm in Sources */,
CBEC51DD2976F1F9009C0CE3 /* RetryQueue.mm in Sources */,
01A414CE2913C0F0003152A4 /* SpanAttributes.mm in Sources */,
CB34771E29068C350033759C /* NSURLSession+Instrumentation.mm in Sources */,
Expand Down
6 changes: 3 additions & 3 deletions BugsnagPerformanceSwift.podspec.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "BugsnagPerformanceSwift",
"version": "1.10.1",
"version": "1.10.2",
"summary": "The Bugsnag performance monitoring framework for Swift-only functionality in iOS.",
"homepage": "https://github.com/bugsnag/bugsnag-cocoa-performance",
"license": {
Expand All @@ -13,7 +13,7 @@
"swift_version": "4.2",
"source": {
"git": "https://github.com/bugsnag/bugsnag-cocoa-performance.git",
"tag": "v1.10.1"
"tag": "v1.10.2"
},
"platforms": {
"ios": "13.0"
Expand All @@ -24,6 +24,6 @@
"SwiftUI"
],
"dependencies": {
"BugsnagPerformance": "1.10.1"
"BugsnagPerformance": "1.10.2"
}
}
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
Changelog
=========

## 1.10.2 (2024-10-31)

* Fixed a crash after shared NSURLSession invalidate
[334](https://github.com/bugsnag/bugsnag-cocoa-performance/pull/334)

* Fix visionOS compilation errors. Note that visionOS is not yet officially supported.
[327](https://github.com/bugsnag/bugsnag-cocoa-performance/pull/327)

## 1.10.1 (2024-10-30)

### Bug fixes
Expand Down
1 change: 1 addition & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @robert-smartbear @kstenerud @tomlongridge
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ let package = Package(
linkerSettings: [
.linkedFramework("SystemConfiguration"),
.linkedFramework("UIKit"),
.linkedFramework("CoreTelephony"),
.linkedFramework("CoreTelephony", .when(platforms: [.iOS])),
]
),
.target(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
//
// BSGPerformanceSharedSessionProxy.h
// BugsnagPerformance-iOS
//
// Created by Robert B on 24/10/2024.
// Copyright © 2024 Bugsnag. All rights reserved.
//

#import <Foundation/Foundation.h>

/**
* A proxy for NSURLSession that ignores finishTasksAndInvalidate and invalidateAndCancel calls
*/
@interface BSGPerformanceSharedSessionProxy: NSProxy

- (id)initWithSession:(NSURLSession *)session;

@end

Loading

0 comments on commit d545ead

Please sign in to comment.