Skip to content

Commit

Permalink
Merge pull request #961 from bugsnag/release-v6.5.0
Browse files Browse the repository at this point in the history
Release v6.5.0
  • Loading branch information
nickdowell authored Jan 6, 2021
2 parents 59881af + 903b2a7 commit 75ea085
Show file tree
Hide file tree
Showing 82 changed files with 2,437 additions and 1,488 deletions.
253 changes: 252 additions & 1 deletion .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
steps:
- label: Build cocoa IPA
key: cocoa_fixture
timeout_in_minutes: 20
agents:
queue: opensource-mac-cocoa
Expand All @@ -10,9 +11,242 @@ steps:
- ./features/scripts/export_ios_app.sh
- ./features/scripts/export_mac_app.sh

- wait
- label: Static framework and Swift Package Manager builds
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa
concurrency: 3
concurrency_group: cocoa-unit-tests
env:
LANG: "en_GB.UTF-8"
commands:
- mkdir -p features/fixtures/carthage-proj
- make build_swift
- make build_ios_static

- label: macOS 11 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-11
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "macOS"
commands:
- make bootstrap
- make analyze test

- label: macOS 10.15 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa
concurrency: 3
concurrency_group: cocoa-unit-tests
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "macOS"
commands:
- make bootstrap
- make analyze test

- label: macOS 10.14 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-10.14
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "macOS"
commands:
- make bootstrap
- make analyze test

- label: macOS 10.13 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-10.13
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "macOS"
commands:
- make bootstrap
- make analyze test

- label: iOS 14 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-11
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "iOS"
OS: "14.2"
commands:
- make bootstrap
- make test

- label: iOS 13 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "iOS"
OS: "13.7"
concurrency: 3
concurrency_group: cocoa-unit-tests
commands:
- make bootstrap
- make test

- label: iOS 12 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "iOS"
OS: "12.4"
concurrency: 3
concurrency_group: cocoa-unit-tests
commands:
- make bootstrap
- make test

- label: iOS 11 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "iOS"
OS: "11.4"
concurrency: 3
concurrency_group: cocoa-unit-tests
commands:
- make bootstrap
- make test

- label: iOS 10 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-10.14
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "iOS"
OS: "10.3.1"
DEVICE: "iPhone 5s"
commands:
- make bootstrap
- make test

- label: iOS 9 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-10.13
env:
LANG: "en_GB.UTF-8"
PLATFORM: "iOS"
OS: "9.3"
DEVICE: "iPhone 5s"
commands:
- make bootstrap
- TEST_CONFIGURATION=Debug make test
- TEST_CONFIGURATION=Release make test

- label: tvOS 14 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-11
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "tvOS"
OS: "14.0"
commands:
- make bootstrap
- make test

- label: tvOS 13 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "tvOS"
OS: "13.3"
concurrency: 3
concurrency_group: cocoa-unit-tests
commands:
- make bootstrap
- make test

- label: tvOS 12 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "tvOS"
OS: "12.4"
concurrency: 3
concurrency_group: cocoa-unit-tests
commands:
- make bootstrap
- make test

- label: tvOS 11 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "tvOS"
OS: "11.4"
concurrency: 3
concurrency_group: cocoa-unit-tests
commands:
- make bootstrap
- make test

- label: tvOS 10 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-10.14
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "tvOS"
OS: "10.2"
commands:
- make bootstrap
- make test

- label: tvOS 9 unit tests
timeout_in_minutes: 10
agents:
queue: opensource-mac-cocoa-10.13
env:
LANG: "en_GB.UTF-8"
TEST_CONFIGURATION: "Debug"
PLATFORM: "tvOS"
OS: "9.2"
commands:
- make bootstrap
- make test

- label: ':ios: iOS 14 end-to-end tests'
depends_on:
- cocoa_fixture
timeout_in_minutes: 60
agents:
queue: opensource
Expand All @@ -36,6 +270,8 @@ steps:
limit: 2

- label: ':ios: iOS 13 end-to-end tests'
depends_on:
- cocoa_fixture
timeout_in_minutes: 60
agents:
queue: opensource
Expand All @@ -59,6 +295,8 @@ steps:
limit: 2

- label: ':ios: iOS 12 end-to-end tests'
depends_on:
- cocoa_fixture
timeout_in_minutes: 60
agents:
queue: opensource
Expand All @@ -82,6 +320,8 @@ steps:
limit: 2

- label: ':ios: iOS 11 end-to-end tests'
depends_on:
- cocoa_fixture
# More time than other steps as the BrowserStack iOS 11 devices seem particularly unstable and
# sessions need resetting frequently, taking a minute or more each time.
timeout_in_minutes: 90
Expand All @@ -107,6 +347,8 @@ steps:
limit: 2

- label: ':ios: iOS 10 end-to-end tests'
depends_on:
- cocoa_fixture
timeout_in_minutes: 60
agents:
queue: opensource
Expand All @@ -128,3 +370,12 @@ steps:
automatic:
- exit_status: -1 # Agent was lost
limit: 2

- label: 'Update documentation page'
if: build.tag =~ /^v[2-9]\.[0-9]+\.[0-9]+\$/ && build.branch == "master"
agents:
queue: opensource-mac-cocoa
concurrency: 3
concurrency_group: cocoa-unit-tests
command:
- make update-docs
19 changes: 19 additions & 0 deletions .github/workflows/framework-size.danger
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Dangerfile for reporting change of framework size

# Formats a number with thousands separated by ','
def format_number(number)
number.to_s.reverse.scan(/.{1,3}/).join(',').reverse
end

# The .size_after and .size_before files must be created prior to running this Dangerfile.
size_after = File.read('.size_after').to_i
size_before = File.read('.size_before').to_i

markdown("
### Bugsnag.framework binary size
| | iOS arm64 |
|--------|-------------------------------------|
| Before | #{format_number(size_before)} bytes |
| After | #{format_number(size_after)} bytes |
| Diff | #{sprintf("%+d", size_after - size_before)} |
")
49 changes: 49 additions & 0 deletions .github/workflows/framework-size.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: "Framework size"
on: [pull_request]

jobs:
build:
name: iOS arm64
runs-on: macos-latest
steps:
- name: Checkout base branch
uses: actions/checkout@v1
with:
ref: ${{ github.base_ref }}
clean: false

- name: Build framework
run: |
xcodebuild -project Bugsnag.xcodeproj -configuration Release -scheme Bugsnag-iOS -destination generic/platform=iOS -derivedDataPath DerivedData -quiet clean build VALID_ARCHS=arm64
eval $(stat -s DerivedData/Build/Products/Release-iphoneos/Bugsnag.framework/Bugsnag)
echo $st_size > .size_before
- name: Checkout PR branch
uses: actions/checkout@v1
with:
ref: ${{ github.ref }}
clean: false

- name: Build framework
run: |
xcodebuild -project Bugsnag.xcodeproj -configuration Release -scheme Bugsnag-iOS -destination generic/platform=iOS -derivedDataPath DerivedData -quiet clean build VALID_ARCHS=arm64
eval $(stat -s DerivedData/Build/Products/Release-iphoneos/Bugsnag.framework/Bugsnag)
echo $st_size > .size_after
- uses: actions/cache@v2
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
- name: Bundle install
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: Danger
run: bundle exec danger --dangerfile=.github/workflows/framework-size.danger
env:
# https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit 75ea085

Please sign in to comment.