Skip to content
This repository has been archived by the owner on Aug 29, 2024. It is now read-only.

Commit

Permalink
Merge pull request #2244 from spatialos/0.10.0-rc
Browse files Browse the repository at this point in the history
Release 0.10.0
  • Loading branch information
gdk-for-unreal-bot authored Jul 8, 2020
2 parents de19dc3 + 0468523 commit 9140900
Show file tree
Hide file tree
Showing 272 changed files with 13,189 additions and 4,914 deletions.
4 changes: 2 additions & 2 deletions .buildkite/premerge.steps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ steps:
# Trigger an Example Project build for any merges into master, preview or release branches of UnrealGDK
- trigger: "unrealgdkexampleproject-nightly"
label: "post-merge-example-project-build"
branches: "master preview release"
if: build.env("ENGINE_NET_TEST") != "true" && (build.branch == "master" || build.branch == "preview" || build.branch == "release")
async: true
build:
env:
Expand All @@ -78,6 +78,6 @@ steps:
<<: *script_runner

- label: "slack-notify"
if: (build.env("SLACK_NOTIFY") == "true" || build.branch == "master") && build.env("SLACK_NOTIFY") != "false"
if: (build.env("SLACK_NOTIFY") == "true" || build.branch == "master") && build.env("SLACK_NOTIFY") != "false" && build.env("ENGINE_NET_TEST") != "true"
commands: "powershell ./ci/build-and-send-slack-notification.ps1"
<<: *windows
11 changes: 11 additions & 0 deletions .buildkite/release.definition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
agent_queue_id: trigger-pipelines
description: Releases all UnrealGDK associated repos to `release` branches.
github:
branch_configuration: []
default_branch: master
pull_request_branch_filter_configuration: []
teams:
- name: Everyone
permission: READ_ONLY
- name: gbu/develop/unreal
permission: MANAGE_BUILD_AND_READ
90 changes: 90 additions & 0 deletions .buildkite/release.steps.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
common: &common
agents:
- "capable_of_building=gdk-for-unreal"
- "environment=production"
- "permission_set=builder"
- "platform=linux" # if you need a different platform, configure this: macos|linux|windows.
- "queue=${CI_LINUX_BUILDER_QUEUE:-v4-20-04-27-095849-bk10828-316979f1}"
- "scaler_version=2"
- "working_hours_time_zone=london"

retry:
automatic:
# This is designed to trap and retry failures because agent lost connection. Agent exits with -1 in this case.
- exit_status: -1
limit: 3

steps:
# Stage 0: Tell Buildkite what you want to release.
- block: "Configure your release."
prompt: "Fill out these details for your release."
fields:
- text: "UnrealGDK component release version"
key: "gdk-version"
required: true
hint: "The name of component release version you want to create release candidates for. For example: `0.12.2` or `1.0.1`."

- text: "UnrealGDK source branch"
key: "gdk-source-branch"
required: true
hint: "The branch you want to create UnrealGDK, UnrealGDKExampleProject, UnrealGDKTestGyms, TestGymBuildKite & UnrealGDKEngineNetTest, release candidates from."
default: "master"

- text: "UnrealEngine source branches"
key: "engine-source-branches"
required: true
hint: "The Unreal Engine branch (or branches) that you want to create release candidates from. Put each branch on a separate line with the primary Engine version at the top."
default: "4.24-SpatialOSUnrealGDK\n4.23-SpatialOSUnrealGDK"

# Stage 1: Prepare the release candidates. Prepare steps create a PR and upload metadata but do not release anything.
- label: "Prepare the release"
command: ci/prepare-release.sh
<<: *common # This folds the YAML named anchor into this step. Overrides, if any, should follow, not precede.
retry:
manual:
permit_on_passed: true
concurrency: 1
concurrency_group: "unrealgdk-release"

- wait

# Stage 2: Builds all UnrealEngine release candidates, compresses and uploads Engine artifacts to Google Cloud Storage for use by test pipelines.
- label: "Build & upload all UnrealEngine release candidates"
command: ci/generate-unrealengine-premerge-trigger.sh | tee /dev/fd/2 | buildkite-agent pipeline upload
<<: *common # This folds the YAML named anchor into this step. Overrides, if any, should follow, not precede.
retry:
manual:
permit_on_passed: true
concurrency: 1
concurrency_group: "unrealgdk-release"
#TODO: This step is actually not strictly necessary. It will be removed as part of: UNR-3662
skip: true

# Stage 3: Run all tests against the release candidates.
# Block steps require a human to click a button. This
- block: "Run all tests"
prompt: "This action triggers all tests. Tests depend on the presence of unrealengine-premerge artifacts in Google Cloud Storage. Only click OK if the above unrealengine-premerge build(s) have passed."

- label: "Trigger all automated tests"
command: ci/generate-release-qa-trigger.sh | tee /dev/fd/2 | buildkite-agent pipeline upload
<<: *common # This folds the YAML named anchor into this step. Overrides, if any, should follow, not precede.
retry:
manual:
permit_on_passed: true
concurrency: 1
concurrency_group: "unrealgdk-release"

- wait

# Stage 4: Promote the release candiates to their respective release branches.

# Block steps require a human to click a button, this is a safety precaution.
- block: "Unblock the release"
prompt: "This action will merge all release candidates into their respective release branches."

- label: Release
command: ci/release.sh
concurrency: 1
concurrency_group: "unrealgdk-release"
<<: *common # This folds the YAML named anchor into this step. Overrides, if any, should follow, not precede.
7 changes: 7 additions & 0 deletions .github/pull-request-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,12 @@ STRONGLY SUGGESTED: How can this be verified by QA?
#### Documentation
How is this documented (for example: release note, upgrade guide, feature page, in-code documentation)?

#### Reminders (IMPORTANT)
If your change relies on a breaking engine change:
* Increment `SPATIAL_ENGINE_VERSION` in `Engine\Source\Runtime\Launch\Resources\SpatialVersion.h` (in the engine fork) as well as `SPATIAL_GDK_VERSION` in `SpatialGDK\Source\SpatialGDK\Public\Utils\EngineVersionCheck.h`. This helps others by providing a more helpful message during compilation to make sure the GDK and the Engine are up to date.

If your change updates `Setup.bat`, `Setup.sh`, core SDK version, any C# tools in `SpatialGDK\Build\Programs\Improbable.Unreal.Scripts`, or hand-written schema in `SpatialGDK\Extras\schema`:
* Increment the number in `RequireSetup`. This will automatically run `Setup.bat` or `Setup.sh` when the GDK is next pulled.

#### Primary reviewers
If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Visual Studio Code user specific files
.vscode/

# IDEA user files
.idea/

# Visual Studio 2015 user specific files
.vs/

Expand Down Expand Up @@ -81,6 +84,9 @@ logs/

Scripts/spatialos.*.build.json

# Docker needs this sln to build the Release Tool
!ci/Tools.sln

!SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/Improbable.Unreal.Scripts.sln
!SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/Mac/Improbable.Unreal.Scripts.sln
!SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/packages/Newtonsoft.Json.12.0.2/lib/net45/Newtonsoft.Json.dll
Expand All @@ -93,3 +99,6 @@ SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/Build/Build.csproj.user
_ReSharper.caches

**/.DS_Store

# File to indicate services region, created by Setup script
UseChinaServicesRegion
Loading

0 comments on commit 9140900

Please sign in to comment.