Skip to content

Commit 5c968d9

Browse files
authored
Fix menu (#287)
1 parent d059aa7 commit 5c968d9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+899
-340
lines changed

β€Ždocs/intro.md β€Ždocs/01-introduction/index.mdx

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
---
2-
sidebar_position: 1
3-
title: Welcome to GameCI
4-
---
1+
# Introduction
52

63
This site hosts all documentation for GameCI, and will help you setup Continuous Integration for your game projects.
74

β€Ždocs/cloud-runner/01-introduction.md β€Ždocs/03-github-cloud-runner/01-introduction.md

+25-14
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,34 @@
11
# Introduction
2+
23
## Concept - What Does Cloud Runner Do
34

4-
**Cloud Runner enables you to run, build and test workflows in the cloud, right from GitHub actions. Builder will automatically provision an environment at a Cloud Provider such as GCP and AWS. It will then send the project to be built and/or tested depending on your workflow configuration.**
5+
**Cloud Runner enables you to run, build and test workflows in the cloud, right from GitHub actions. Builder will automatically provision an environment at a Cloud Provider such as GCP and AWS. It will then send the project to be built and/or tested depending on your workflow configuration.**
56

67
**Cloud Runner is especially useful for game development because it supports large projects. Cloud Runner provides first class support for the Unity game engine.**
78

89
Cloud Runner uses git to track and transfer your projects and uses native cloud services such as AWS Fargate and Kubernetes to run your jobs. Other version control systems are not actively supported.
910

1011
## Why cloud runner?
12+
1113
1. Extended options and more control over disk size, memory and CPU. You can build projects of almost any size.
1214
2. Scale up to much larger numbers of builds easily and fully on demand.
1315
3. Run custom jobs and extend the system for any workload.
1416
4. Create resources on-demand, we have made an effort to make sure that it costs you nothing while there are no builds running (no guarantees).
1517

1618
## Why not cloud runner?
19+
1720
1. Your project is small in size. Below 5GB Cloud Runner should not be needed.
1821
2. You already have servers running you can use for capacity.
19-
3. You strongly prefer to avoid the addition of time to your pipeline, slowing down results.
22+
3. You strongly prefer to avoid the addition of time to your pipeline, slowing down results.
2023

21-
Although the speed of a CI pipelines is an important metric to consider, there are real challenges for game development pipelines.
24+
Although the speed of a CI pipelines is an important metric to consider, there are real challenges for game development pipelines.
2225

23-
This solution prefers convenience, ease of use, scalability, throughput and flexibility.
26+
This solution prefers convenience, ease of use, scalability, throughput and flexibility.
2427

2528
Faster solutions exist, but would all involve self-hosted hardware with an immediate local cache of the large project files and working directory and a dedicated server.
2629

2730
## Cloud Runner Release Status
31+
2832
Cloud Runner is in "active development" βš οΈπŸ”¨
2933

3034
Cloud Runner overall release status: `preview`
@@ -35,34 +39,40 @@ Release Stages: `experimental` ➑️ `preview` ➑️ `full release`
3539
You must use a provider with Cloud Runner, each provider's release status is described below. This indicates the stability and support for cloud runner features and workflows.
3640

3741
### Development
42+
3843
_Cloud Runner is actively maintained and kept stable by the Game CI open source project contributors._
3944

4045
πŸ’¬suggestions, πŸ›bugs and ↕️Minor changes are tracked as GitHub issues:
41-
- [Game CI Issues - GitHub](https://github.com/game-ci/unity-builder/labels/cloud-runner)
46+
47+
- [Game CI Issues - GitHub](https://github.com/game-ci/unity-builder/labels/cloud-runner)
4248

4349
You can also explore the [development roadmap page](development).
4450

4551
### Community
46-
__Share your feedback with us!__
47-
- [__Discord Channel__](https://discord.com/channels/710946343828455455/789631903157583923)
48-
- [__Feedback Form__](https://forms.gle/3Wg1gGf9FnZ72RiJ9)
52+
53+
**Share your feedback with us!**
54+
55+
- [**Discord Channel**](https://discord.com/channels/710946343828455455/789631903157583923)
56+
- [**Feedback Form**](https://forms.gle/3Wg1gGf9FnZ72RiJ9)
4957

5058
### Supported Cloud Runner Platforms
59+
5160
```md
52-
| Cloud Provider Platform | Release Status |
53-
| ----------------------- | ------------------------- |
61+
| Cloud Provider Platform | Release Status |
62+
| ----------------------- | ----------------------- |
5463
| Kubernetes | βœ”οΈ experimental release |
5564
| AWS | βœ”οΈ preview release |
56-
| GCP | ⚠ Considered |
57-
| Azure | ⚠ Considered |
65+
| GCP | ⚠ Considered |
66+
| Azure | ⚠ Considered |
5867
```
68+
5969
_Note for Kuberentes support:_
6070
_Usually the cluster needs to be up and running at all times, as starting up a cluster is slow._
6171
_Use Google Cloud's Kubernetes Autopilot you can scale down to the free tier automatically while not in use._
6272

6373
```md
64-
| Git Platform | Release Status |
65-
| --------------------- | -------------------- |
74+
| Git Platform | Release Status |
75+
| --------------------- | ------------------ |
6676
| GitHub | βœ”οΈ preview release |
6777
| GitLab | βœ”οΈ preview release |
6878
| Command Line | βœ”οΈ preview release |
@@ -71,6 +81,7 @@ _Use Google Cloud's Kubernetes Autopilot you can scale down to the free tier aut
7181
```
7282

7383
## Releases
84+
7485
All cloud runner releases are currently packaged and released with game-ci's unity-builder module:
7586
[Game CI Releases - GitHub](https://github.com/game-ci/unity-builder/releases)
7687

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
position: 2.0
3+
label: Getting started
4+
collapsible: true
5+
collapsed: true

β€Ždocs/cloud-runner/02-getting-started/aws.md β€Ždocs/03-github-cloud-runner/02-getting-started/aws.md

+5
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Setup the following as `env` variables for cloud runner to use:
1414
- `AWS_DEFAULT_REGION` (should be the same AWS region as the base stack e.g `eu-west-2`)
1515

1616
If you're using GitHub you can use a GitHub Action:
17+
1718
```yaml
1819
- name: Configure AWS Credentials
1920
uses: aws-actions/configure-aws-credentials@v1
@@ -27,6 +28,7 @@ _Note:_
2728
_This enables Cloud Runner access AWS._
2829
2930
## Configuration For AWS Cloud Runner Jobs
31+
3032
Refer to [Configuration page](../configuration) or the [example below](#example).
3133
3234
### Allowed CPU/Memory Combinations
@@ -35,6 +37,7 @@ There are some limitations to the CPU and Memory parameters. AWS will only accep
3537
[AWS Fargate Documentation, Allowed CPU and memory values (Task Definitions)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_size)
3638
3739
#### Summary Of Format
40+
3841
- Values are represented as 1024:1 GB or CPU.
3942
- Do not include the vCPU or GB suffix.
4043
- 1 CPU can go to a max of 6 GB of memory. 2 CPU's are required to go higher.
@@ -47,6 +50,7 @@ There are some limitations to the CPU and Memory parameters. AWS will only accep
4750
```
4851
4952
## Example
53+
5054
```yaml
5155
- uses: game-ci/unity-builder@cloud-runner-develop
5256
id: aws-fargate-unity-build
@@ -79,6 +83,7 @@ There are some limitations to the CPU and Memory parameters. AWS will only accep
7983
- name: awsDefaultRegion
8084
value: eu-west-2
8185
```
86+
8287
_[Custom Steps](../advanced-topics/custom-steps)_
8388
8489
A full workflow example can be seen in builder's [Cloud Runner GitHub sourcecode for AWS Pipeline](https://github.com/game-ci/unity-builder/blob/main/.github/workflows/cloud-runner-aws-pipeline.yml).

β€Ždocs/cloud-runner/02-getting-started/kubernetes.md β€Ždocs/03-github-cloud-runner/02-getting-started/kubernetes.md

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Setup the following as `env` variables for the GitHub build step:
1212
- `kubeConfig` (should be encoded as base64)
1313

1414
## Configuration For Kubernetes Cloud Runner Jobs
15+
1516
Refer to [Configuration page](../configuration) or the [example below](#example).
1617

1718
### Allowed CPU/Memory Combinations
@@ -25,12 +26,14 @@ Refer to [Configuration page](../configuration) or the [example below](#example)
2526
Do not include the vCPU or GB suffix.
2627

2728
#### Valid CPU and Memory Values
29+
2830
```yaml
2931
- remoteBuildMemory: 2
3032
- remoteBuildCpu: 0.5
3133
```
3234
3335
### Example
36+
3437
```yaml
3538
- uses: game-ci/unity-builder@cloud-runner-develop
3639
id: k8s-unity-build
@@ -66,6 +69,7 @@ Do not include the vCPU or GB suffix.
6669
- name: awsDefaultRegion
6770
value: eu-west-2
6871
```
72+
6973
_[Custom Steps](../advanced-topics/custom-steps)_
7074
7175
A full workflow example can be seen in builder's [Cloud Runner GitHub sourcecode for AWS Pipeline](https://github.com/game-ci/unity-builder/blob/main/.github/workflows/cloud-runner-k8s-pipeline.yml).

β€Ždocs/cloud-runner/03-configuration.md β€Ždocs/03-github-cloud-runner/03-configuration.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
# Configuration
2+
23
### Configuration definition yaml
4+
35
All accepted parameters given here with a description:
6+
47
- [https://github.com/game-ci/unity-builder/blob/cloud-runner-develop/action.yml](https://github.com/game-ci/unity-builder/blob/cloud-runner-develop/action.yml)
58

69
### GitHub Access Token
10+
711
Include the following variable in the `with` section of the builder step:
12+
813
- `githubToken` (should be a GitHub access token with permission to get repositories)
914

1015
_Note:_
1116
_This enables us to get the repository from the AWS build machine._
1217

1318
### Release branch configuration
19+
1420
_GitHub Action examples to pull from the required release branch_
1521

1622
#### Develop branch
@@ -26,9 +32,10 @@ _GitHub Action examples to pull from the required release branch_
2632
```
2733
2834
### Provider Configuration
35+
2936
You must specify the Cloud Provider to use via the parameter `cloudRunnerCluster`.
3037

3138
Valid options:
39+
3240
- `aws` [Getting Started - AWS](getting-started/aws)
3341
- `k8s` [Getting Started - Kubernetes](getting-started/kubernetes)
34-

β€Ždocs/cloud-runner/04-command-line.md β€Ždocs/03-github-cloud-runner/04-command-line.md

+13-1
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,27 @@ git clone https://github.com/game-ci/unity-builder.git
1111
yarn install
1212
yarn run cli -m {mode parameter} --projectPath {Your project path} {... other command line parameters}
1313
```
14+
1415
# Planned (does not work currently)
16+
1517
We plan to offer support for Game CI via Deno. This will enable fast, typescript native runtime and you will be able to access this via the following:
18+
1619
```bash
1720
dpx game-ci build
1821
```
1922

2023
# Help
24+
2125
_You can run `yarn run cli -h` or `yarn run cli --help` to List all modes and paramters with descriptions_
2226

2327
# Main Command Parameters
28+
2429
- Default: `cli` (runs a standard build workflow)
2530
- [Garbage Collection Modes](#garbage-collection)
2631

2732
# Avoiding long parameters for commands
28-
You can avoid specifying lots of command line input for credentials (e.g all unity authentication and cloud provider settings) by using environment variables or [the input override feature](advanced-topics/input-override#example) to shorten commands signficantly.
33+
34+
You can avoid specifying lots of command line input for credentials (e.g all unity authentication and cloud provider settings) by using environment variables or [the input override feature](advanced-topics/input-override#example) to shorten commands signficantly.
2935

3036
This enables you to provide a command to pull input, e.g you can pull from a file or from a secret manager.
3137

@@ -34,19 +40,25 @@ yarn run cli --populateOverride true --readInputFromOverrideList UNITY_EMAIL,UNI
3440
```
3541

3642
## Garbage Collection
43+
3744
### AWS Provider Only
45+
3846
```bash
3947
aws-list-stacks
4048
```
49+
4150
```bash
4251
aws-list-tasks
4352
```
53+
4454
```bash
4555
aws-garbage-collect
4656
```
57+
4758
```bash
4859
aws-garbage-collect-all
4960
```
61+
5062
```bash
5163
aws-garbage-collect-all-1d-older
5264
```
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
1-
# Performance
1+
# Performance
22

33
By sending the build to a cloud resource we must accept some overhead in time to do this. Cloud Runner tries to manage and offer good solutions to cut down any overhead. As well as supporting you to use all options to speed up common workflows, such as incremental builds.
44

55
## Warm start
6+
67
⚠️Development roadmap for cloud runner feature: Will enable you to maintain a minimum number of active build resources to handle incoming jobs with shorter delay times to start a job.
78

89
## Push Hooks
10+
911
⚠️Development roadmap for cloud runner feature: Rather than starting a job from your CI process, you can initally start a Cloud Runner job from your local git push hooks, the CI process can then catch up and observe the logs as needed.
1012

1113
## Sidecar
14+
1215
⚠️Development roadmap for cloud runner feature: Continually stream changes to game-ci workloads without needing to push or even commit explicitly (configurable).
1316

1417
## Caching
18+
1519
Caching is used to speed up git clones, Unity imports and builds and can be extended for custom scenarios.
1620

1721
See [Caching](caching).
1822

1923
## Provider Platform's impact
24+
2025
The different Cloud Runner providers all offer different guarenetees and performance for handling your workloads.
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
# Input Override
2+
23
When running any unity workload you must provide valid unity credentials. In addition to any other credentials this is already quite a lot of input. For this reason, it is common to use the command line mode with input override (link here). This enables you to provide a command to pull input, with this approach you can create a file to store credentials or pull from a secret manager.
34

45
## Example
6+
57
```bash
68
game-ci -m cli --populateOverride true --readInputFromOverrideList UNITY_EMAIL,UNITY_SERIAL,UNITY_PASSWORD --readInputOverrideCommand="gcloud secrets versions access 1 --secret=\"{0}\""
79
```
810

911
## Required Parameters
12+
1013
- `populateOverride` - Must be true to run the commands.
1114
- `readInputFromOverrideList` - Comma separated list of parameters to read from override command.
12-
- `readInputOverrideCommand` - A command line command to run (The command is formatted to replace "{0}" with the parameter parameter name).
15+
- `readInputOverrideCommand` - A command line command to run (The command is formatted to replace "{0}" with the parameter parameter name).

β€Ždocs/cloud-runner/05-advanced-topics/06-garbage-collection.md β€Ždocs/03-github-cloud-runner/05-advanced-topics/06-garbage-collection.md

+2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ Cloud Runner runs the workload and cleans up the resources. It does not expect t
1313
If you cancel a task, the resources will not be cleaned up.
1414

1515
# Full Release - Garbage Collection (Not available yet)
16+
1617
Cloud runner will collect the garbage when it next cleans up. There will be utility functions to clean up directly.
1718
Optional via configuration: Cloud runner can schedule cron jobs to independently guarentee shutdown (already possible via custom hooks).
1819

1920
# Garbage Collection - Command Line Functions
21+
2022
[Command Line Garbage Collection Utilities](../command-line#garbage-collection)

β€Ždocs/cloud-runner/05-advanced-topics/08-logging.md β€Ždocs/03-github-cloud-runner/05-advanced-topics/08-logging.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Logging
2-
Logs are streamed from the workload to the Game CI origin unless you use the
2+
3+
Logs are streamed from the workload to the Game CI origin unless you use the
4+
35
## Kubernetes
46

57
- Native kuberentes logging api

β€Ždocs/cloud-runner/05-advanced-topics/08-secrets.md β€Ždocs/03-github-cloud-runner/05-advanced-topics/08-secrets.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
Secrets are transferred to workload containers as secrets via the built-in secrets system the provider being used supports.
44

55
## Kubernetes
6+
67
secrets are created as native kuberentes secret objects and mounted to job containers as env variables.
78

89
## AWS
10+
911
secrets are created as aws secret manager secrets and mounted to fargate tasks from secrets to env variables.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
position: 5.0
3+
label: Advanced topics
4+
collapsible: true
5+
collapsed: true

β€Ždocs/cloud-runner/06-development.md β€Ždocs/03-github-cloud-runner/06-development.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Development
22

33
## GitHub Issues
4+
45
Minor changes, suggestions and bugs are tracked as GitHub issues:
56
[Game CI Issues - GitHub](https://github.com/game-ci/unity-builder/labels/cloud-runner)
67

@@ -17,7 +18,7 @@ Minor changes, suggestions and bugs are tracked as GitHub issues:
1718
| built-in integration for Unity test framework | todo | |
1819
| built-in integration for steam deploy | todo | |
1920
| extract cloud runner input options into encapsulated object | todo | |
20-
| nested github self-hosted runner sample for game-ci | in-progress | |
21+
| nested github self-hosted runner sample for game-ci | in-progress | |
2122
```
2223

2324
## Iteration 1 - GPU Workloads And Capabilities
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
position: 3.1
3+
label: Github (Cloud Runner)
4+
collapsible: true
5+
collapsed: true
File renamed without changes.
File renamed without changes.
File renamed without changes.

β€Ždocs/03-github/_category_.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
position: 3.0
3+
label: GitHub (Default)
4+
collapsible: true
5+
collapsed: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
position: 5.0
3+
label: Deployment
4+
collapsible: true
5+
collapsed: true
File renamed without changes.
File renamed without changes.

β€Ždocs/05-gitlab/_category_.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
position: 4.0
3+
label: GitLab
4+
collapsible: true
5+
collapsed: true

0 commit comments

Comments
Β (0)