Skip to content

Commit ff4f932

Browse files
authored
Merge pull request #69 from bugsnag/next
2 parents 01167ba + d94c6d3 commit ff4f932

File tree

9 files changed

+178
-29
lines changed

9 files changed

+178
-29
lines changed

.buildkite/block.full.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
steps:
2+
- block: 'Trigger a full build'
3+
key: 'trigger-full-build'
4+
5+
- label: 'Upload the full test pipeline'
6+
depends_on: 'trigger-full-build'
7+
command: buildkite-agent pipeline upload .buildkite/pipeline.full.yml

.buildkite/pipeline.full.yml

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
agents:
2+
queue: macos-12-arm-unity
3+
4+
steps:
5+
6+
#2020 ----------------------------------------------------------
7+
8+
- label: ':android: Build Android test fixture for Unity 2020'
9+
timeout_in_minutes: 30
10+
key: 'build-android-fixture-2020'
11+
depends_on: 'build-artifacts'
12+
env:
13+
UNITY_PERFORMANCE_VERSION: "2020.3.48f1"
14+
plugins:
15+
artifacts#v1.5.0:
16+
download:
17+
- BugsnagPerformance.unitypackage
18+
upload:
19+
- features/fixtures/mazerunner/mazerunner_2020.3.48f1.apk
20+
- features/fixtures/import_package.log
21+
- features/fixtures/build_android.log
22+
23+
commands:
24+
- rake test:android:build
25+
retry:
26+
automatic:
27+
- exit_status: "*"
28+
limit: 1
29+
30+
- label: ':bitbar: Run Android e2e tests for Unity 2020'
31+
timeout_in_minutes: 60
32+
depends_on: 'build-android-fixture-2020'
33+
agents:
34+
queue: opensource
35+
plugins:
36+
artifacts#v1.5.0:
37+
download:
38+
- "features/fixtures/mazerunner/mazerunner_2020.3.48f1.apk"
39+
upload:
40+
- "maze_output/**/*"
41+
docker-compose#v4.8.0:
42+
pull: maze-runner
43+
run: maze-runner
44+
service-ports: true
45+
command:
46+
- "--app=/app/features/fixtures/mazerunner/mazerunner_2020.3.48f1.apk"
47+
- "--farm=bb"
48+
- "--device=ANDROID_11"
49+
- "--no-tunnel"
50+
- "--aws-public-ip"
51+
concurrency: 25
52+
concurrency_group: 'bitbar-app'
53+
concurrency_method: eager
54+
55+
- label: ':ios: Generate Xcode project - Unity 2020'
56+
timeout_in_minutes: 30
57+
key: 'generate-fixture-project-2020'
58+
depends_on: 'build-artifacts'
59+
env:
60+
UNITY_PERFORMANCE_VERSION: "2020.3.48f1"
61+
plugins:
62+
artifacts#v1.5.0:
63+
download:
64+
- BugsnagPerformance.unitypackage
65+
upload:
66+
- features/fixtures/generateXcodeProject.log
67+
- project_2020.tgz
68+
commands:
69+
- rake test:ios:generate_xcode
70+
- tar -zvcf project_2020.tgz features/fixtures/mazerunner/mazerunner_xcode
71+
retry:
72+
automatic:
73+
- exit_status: "*"
74+
limit: 1
75+
76+
- label: ':ios: Build iOS test fixture for Unity 2020'
77+
timeout_in_minutes: 30
78+
key: 'build-ios-fixture-2020'
79+
depends_on: 'generate-fixture-project-2020'
80+
env:
81+
DEVELOPER_DIR: "/Applications/Xcode13.4.app"
82+
UNITY_PERFORMANCE_VERSION: "2020.3.48f1"
83+
plugins:
84+
artifacts#v1.5.0:
85+
download:
86+
- BugsnagPerformance.unitypackage
87+
- project_2020.tgz
88+
upload:
89+
- features/fixtures/mazerunner/mazerunner_2020.3.48f1.ipa
90+
- features/fixtures/unity.log
91+
commands:
92+
- tar -zxf project_2020.tgz features/fixtures/mazerunner
93+
- rake test:ios:build_xcode
94+
retry:
95+
automatic:
96+
- exit_status: "*"
97+
limit: 1
98+
99+
- label: ':bitbar: Run iOS e2e tests for Unity 2020'
100+
timeout_in_minutes: 60
101+
depends_on: 'build-ios-fixture-2020'
102+
agents:
103+
queue: opensource
104+
plugins:
105+
artifacts#v1.5.0:
106+
download:
107+
- "features/fixtures/mazerunner/mazerunner_2020.3.48f1.ipa"
108+
upload:
109+
- "maze_output/**/*"
110+
docker-compose#v4.8.0:
111+
pull: maze-runner
112+
run: maze-runner
113+
service-ports: true
114+
command:
115+
- "--app=/app/features/fixtures/mazerunner/mazerunner_2020.3.48f1.ipa"
116+
- "--farm=bb"
117+
- "--device=IOS_15"
118+
- "--no-tunnel"
119+
- "--aws-public-ip"
120+
concurrency: 25
121+
concurrency_group: 'bitbar-app'
122+
concurrency_method: eager
123+
124+
#2020 END -------------------------------------------------------------------

.buildkite/pipeline.yml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ agents:
33

44
steps:
55

6-
#
7-
# Build library. We run tests for all Unity versions with the 2018 artifacts, as that is what we ship.
8-
#
6+
97
- label: Build released library artifact
108
timeout_in_minutes: 30
119
key: 'build-artifacts'
@@ -27,13 +25,13 @@ steps:
2725
key: 'build-android-fixture-2021'
2826
depends_on: 'build-artifacts'
2927
env:
30-
UNITY_PERFORMANCE_VERSION: "2021.3.13f1"
28+
UNITY_PERFORMANCE_VERSION: "2021.3.27f1"
3129
plugins:
3230
artifacts#v1.5.0:
3331
download:
3432
- BugsnagPerformance.unitypackage
3533
upload:
36-
- features/fixtures/mazerunner/mazerunner_2021.3.13f1.apk
34+
- features/fixtures/mazerunner/mazerunner_2021.3.27f1.apk
3735
- features/fixtures/import_package.log
3836
- features/fixtures/build_android.log
3937

@@ -52,15 +50,15 @@ steps:
5250
plugins:
5351
artifacts#v1.5.0:
5452
download:
55-
- "features/fixtures/mazerunner/mazerunner_2021.3.13f1.apk"
53+
- "features/fixtures/mazerunner/mazerunner_2021.3.27f1.apk"
5654
upload:
5755
- "maze_output/**/*"
5856
docker-compose#v4.8.0:
5957
pull: maze-runner
6058
run: maze-runner
6159
service-ports: true
6260
command:
63-
- "--app=/app/features/fixtures/mazerunner/mazerunner_2021.3.13f1.apk"
61+
- "--app=/app/features/fixtures/mazerunner/mazerunner_2021.3.27f1.apk"
6462
- "--farm=bb"
6563
- "--device=ANDROID_11"
6664
- "--no-tunnel"
@@ -74,7 +72,7 @@ steps:
7472
key: 'generate-fixture-project-2021'
7573
depends_on: 'build-artifacts'
7674
env:
77-
UNITY_PERFORMANCE_VERSION: "2021.3.13f1"
75+
UNITY_PERFORMANCE_VERSION: "2021.3.27f1"
7876
plugins:
7977
artifacts#v1.5.0:
8078
download:
@@ -96,14 +94,14 @@ steps:
9694
depends_on: 'generate-fixture-project-2021'
9795
env:
9896
DEVELOPER_DIR: "/Applications/Xcode13.4.app"
99-
UNITY_PERFORMANCE_VERSION: "2021.3.13f1"
97+
UNITY_PERFORMANCE_VERSION: "2021.3.27f1"
10098
plugins:
10199
artifacts#v1.5.0:
102100
download:
103101
- BugsnagPerformance.unitypackage
104102
- project_2021.tgz
105103
upload:
106-
- features/fixtures/mazerunner/mazerunner_2021.3.13f1.ipa
104+
- features/fixtures/mazerunner/mazerunner_2021.3.27f1.ipa
107105
- features/fixtures/unity.log
108106
commands:
109107
- tar -zxf project_2021.tgz features/fixtures/mazerunner
@@ -121,19 +119,27 @@ steps:
121119
plugins:
122120
artifacts#v1.5.0:
123121
download:
124-
- "features/fixtures/mazerunner/mazerunner_2021.3.13f1.ipa"
122+
- "features/fixtures/mazerunner/mazerunner_2021.3.27f1.ipa"
125123
upload:
126124
- "maze_output/**/*"
127125
docker-compose#v4.8.0:
128126
pull: maze-runner
129127
run: maze-runner
130128
service-ports: true
131129
command:
132-
- "--app=/app/features/fixtures/mazerunner/mazerunner_2021.3.13f1.ipa"
130+
- "--app=/app/features/fixtures/mazerunner/mazerunner_2021.3.27f1.ipa"
133131
- "--farm=bb"
134132
- "--device=IOS_15"
135133
- "--no-tunnel"
136134
- "--aws-public-ip"
137135
concurrency: 25
138136
concurrency_group: 'bitbar-app'
139137
concurrency_method: eager
138+
139+
140+
#
141+
# Conditionally trigger full pipeline
142+
#
143+
- label: 'Conditionally trigger full set of tests'
144+
timeout_in_minutes: 30
145+
command: sh -c .buildkite/pipeline_trigger.sh

.buildkite/pipeline_trigger.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env sh
2+
3+
if [[ "$BUILDKITE_MESSAGE" == *"[full ci]"* ||
4+
"$BUILDKITE_BRANCH" == "next" ||
5+
"$BUILDKITE_BRANCH" == "main" ||
6+
! -z "$FULL_SCHEDULED_BUILD" ||
7+
"$BUILDKITE_PULL_REQUEST_BASE_BRANCH" == "main" ]]; then
8+
echo "Running full build"
9+
buildkite-agent pipeline upload .buildkite/pipeline.full.yml
10+
else
11+
# Basic build, but allow a full build to be triggered
12+
echo "Running basic build"
13+
buildkite-agent pipeline upload .buildkite/block.full.yml
14+
fi

BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/Version.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
internal static class Version
44
{
55
//TODO set this using sed or something in the release automation task
6-
public const string VersionString = "0.1.2";
6+
public const string VersionString = "1.0.0";
77
}
88
}

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## v1.0.0 (2023-07-17)
4+
5+
- Official 1.0 release for GA
6+
37
## v0.1.2 (2023-07-06)
48

59
## Bug Fixes

CONTRIBUTING.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
## Releasing a new version
55

6-
#### Making the package release
6+
#### 1: Create release commit and tag
77

88
1. Make sure any changes made since last release in `main` are merged into `next`.
99

10-
2. Checkout the `next` branch. Set the version number in the change log AND the `Version.cs` file.
10+
2. Checkout the `next` branch. Set the version number in the change log AND the `BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/Version.cs` file.
1111

1212
3. Commit the changelog and version updates:
1313

@@ -24,23 +24,22 @@
2424
git push origin v1.x.x
2525
```
2626
27-
6. Wait. The CI build will build the new package and create a draft release.
27+
6. Create a release from the tag in github, copy the changelog entry into the release notes and publish the release.
2828
29-
7. Verify that the release looks good, upload the unity packages to the release, copy in the changelog entry into the release notes and publish the draft.
3029
31-
#### Making the UPM release
30+
#### 2: Making the UPM release
3231
33-
Once the UnityPackage release is confirmed a UPM release should be deployed
32+
Once the github release is confirmed a UPM release should be deployed
3433
3534
1. Checkout the release commit on `main`
3635
3736
2. Build the upm package by running the `build-upm-package.sh` script in the `upm` directory. You should pass the version number of the release like so `./build-upm-package.sh 1.x.x`. You must run the script from within the `upm` directory. This will build the upm package in the `upm/package` directory.
3837
3938
3. Test that the built package installs by using the install local package option in unity package manager.
4039
41-
4. Clone the `bugsnag-unity-performance-upm` repo and make sure you are in the `main` branch.
40+
4. Clone the `bugsnag-unity-performance-upm` repo and make sure you are in the `main` branch and it is up to date with origin.
4241
43-
5. Replace the contents of the repo with the contents of the `upm/package` directory in the `bugsnag-unity-performance` repo
42+
5. Replace the entire contents of the repo with the contents of the `upm/package` directory in the `bugsnag-unity-performance` repo
4443
4544
6. Commit these changes to main with the message `Release v1.x.x`
4645
Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
using System.Collections;
2-
using System.Collections.Generic;
3-
using System.Threading;
4-
using BugsnagUnityPerformance;
5-
using UnityEngine;
6-
1+

72
public class PValueRetry : Scenario
83
{
94
public override void PrepareConfig(string apiKey, string host)
105
{
116
base.PrepareConfig(apiKey, host);
12-
SetPValueCheckIntervalSeconds(1);
7+
SetPValueCheckIntervalSeconds(3);
138
}
149
}

features/fixtures/mazerunner/Packages/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependencies": {
3-
"com.unity.collab-proxy": "1.14.9",
3+
"com.unity.collab-proxy": "2.0.5",
44
"com.unity.ide.rider": "1.2.1",
55
"com.unity.ide.visualstudio": "2.0.12",
66
"com.unity.ide.vscode": "1.2.4",

0 commit comments

Comments
 (0)