cleanup local pipeline, log aws formation
parent
a9063229da
commit
c971c9351b
|
|
@ -1,95 +0,0 @@
|
||||||
name: Cloud Runner Local
|
|
||||||
|
|
||||||
on:
|
|
||||||
push: { branches: ['!cloud-runner-develop', '!cloud-runner-preview', '!main'] }
|
|
||||||
# push: { branches: [main] }
|
|
||||||
# pull_request:
|
|
||||||
# paths-ignore:
|
|
||||||
# - '.github/**'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
integrationTests:
|
|
||||||
name: Integration Tests
|
|
||||||
if: github.event.event_type != 'pull_request_target'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
cloudRunnerCluster:
|
|
||||||
- local-docker
|
|
||||||
targetPlatform:
|
|
||||||
- StandaloneWindows64 # Build a Windows 64-bit standalone.
|
|
||||||
# steps
|
|
||||||
steps:
|
|
||||||
- name: Checkout (default)
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
lfs: true
|
|
||||||
- run: yarn
|
|
||||||
- run: yarn run cli --help
|
|
||||||
- run: yarn run test-i --detectOpenHandles --forceExit --runInBand
|
|
||||||
env:
|
|
||||||
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
|
|
||||||
PROJECT_PATH: ${{ matrix.projectPath }}
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TARGET_PLATFORM: ${{ matrix.targetPlatform }}
|
|
||||||
cloudRunnerTests: true
|
|
||||||
versioning: None
|
|
||||||
CLOUD_RUNNER_CLUSTER: ${{ matrix.cloudRunnerCluster }}
|
|
||||||
buildTests:
|
|
||||||
name: Build Tests
|
|
||||||
if: github.event.event_type != 'pull_request_target'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
cloudRunnerCluster:
|
|
||||||
- local-docker
|
|
||||||
targetPlatform:
|
|
||||||
- StandaloneOSX # Build a macOS standalone (Intel 64-bit).
|
|
||||||
- StandaloneWindows64 # Build a Windows 64-bit standalone.
|
|
||||||
- StandaloneLinux64 # Build a Linux 64-bit standalone.
|
|
||||||
- WebGL # WebGL.
|
|
||||||
- iOS # Build an iOS player.
|
|
||||||
- Android # Build an Android .apk.
|
|
||||||
# - StandaloneWindows # Build a Windows standalone.
|
|
||||||
# - WSAPlayer # Build an Windows Store Apps player.
|
|
||||||
# - PS4 # Build a PS4 Standalone.
|
|
||||||
# - XboxOne # Build a Xbox One Standalone.
|
|
||||||
# - tvOS # Build to Apple's tvOS platform.
|
|
||||||
# - Switch # Build a Nintendo Switch player
|
|
||||||
# steps
|
|
||||||
steps:
|
|
||||||
- name: Checkout (default)
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
lfs: true
|
|
||||||
- uses: ./
|
|
||||||
id: unity-build
|
|
||||||
timeout-minutes: 25
|
|
||||||
env:
|
|
||||||
CLOUD_RUNNER_BRANCH: ${{ github.ref }}
|
|
||||||
CLOUD_RUNNER_DEBUG: true
|
|
||||||
CLOUD_RUNNER_DEBUG_TREE: true
|
|
||||||
DEBUG: true
|
|
||||||
PROJECT_PATH: test-project
|
|
||||||
UNITY_VERSION: 2019.3.15f1
|
|
||||||
USE_IL2CPP: false
|
|
||||||
with:
|
|
||||||
cloudRunnerTests: true
|
|
||||||
versioning: None
|
|
||||||
projectPath: ${{ matrix.projectPath }}
|
|
||||||
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
targetPlatform: ${{ matrix.targetPlatform }}
|
|
||||||
cloudRunnerCluster: ${{ matrix.cloudRunnerCluster }}
|
|
||||||
- run: |
|
|
||||||
mv ./cloud-runner-cache/${{ steps.unity-build.outputs.CACHE_KEY }}/build/${{ steps.unity-build.outputs.BUILD_ARTIFACT }} ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
|
|
||||||
ls
|
|
||||||
###########################
|
|
||||||
# Upload #
|
|
||||||
###########################
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: Local Build (${{ matrix.targetPlatform }})
|
|
||||||
path: ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
|
|
||||||
retention-days: 14
|
|
||||||
|
|
@ -28,7 +28,7 @@ env:
|
||||||
jobs:
|
jobs:
|
||||||
integrationTests:
|
integrationTests:
|
||||||
name: Integration Tests
|
name: Integration Tests
|
||||||
if: github.event.event_type != 'pull_request_target'
|
if: github.event.event_type != 'pull_request_target' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/cloud-runner-develop' || github.ref == 'refs/heads/cloud-runner-preview')
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
@ -92,7 +92,45 @@ jobs:
|
||||||
CLOUD_RUNNER_CLUSTER: ${{ matrix.cloudRunnerCluster }}
|
CLOUD_RUNNER_CLUSTER: ${{ matrix.cloudRunnerCluster }}
|
||||||
AWS_BASE_STACK_NAME: game-ci-github-pipelines
|
AWS_BASE_STACK_NAME: game-ci-github-pipelines
|
||||||
|
|
||||||
localBuildTargetTests:
|
asyncBuildTest:
|
||||||
|
name: Build Tests - Targets
|
||||||
|
if: github.event.event_type != 'pull_request_target' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/cloud-runner-develop' || github.ref == 'refs/heads/cloud-runner-preview')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
cloudRunnerCluster:
|
||||||
|
- aws
|
||||||
|
#- local-docker
|
||||||
|
#- k8s
|
||||||
|
targetPlatform:
|
||||||
|
#- StandaloneOSX # Build a macOS standalone (Intel 64-bit).
|
||||||
|
- StandaloneWindows64 # Build a Windows 64-bit standalone.
|
||||||
|
#- StandaloneLinux64 # Build a Linux 64-bit standalone.
|
||||||
|
#- WebGL # WebGL.
|
||||||
|
#- iOS # Build an iOS player.
|
||||||
|
#- Android # Build an Android .apk.
|
||||||
|
steps:
|
||||||
|
- name: Checkout (default)
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
- run: yarn
|
||||||
|
- uses: ./
|
||||||
|
id: unity-build
|
||||||
|
timeout-minutes: 90
|
||||||
|
env:
|
||||||
|
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
|
||||||
|
with:
|
||||||
|
cloudRunnerTests: true
|
||||||
|
versioning: None
|
||||||
|
projectPath: test-project
|
||||||
|
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
targetPlatform: ${{ matrix.targetPlatform }}
|
||||||
|
cloudRunnerCluster: ${{ matrix.cloudRunnerCluster }}
|
||||||
|
githubChecks: true
|
||||||
|
asyncCloudRunner: true
|
||||||
|
buildTests:
|
||||||
name: Build Tests - Targets
|
name: Build Tests - Targets
|
||||||
if: github.event.event_type != 'pull_request_target'
|
if: github.event.event_type != 'pull_request_target'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -105,7 +143,7 @@ jobs:
|
||||||
#- k8s
|
#- k8s
|
||||||
targetPlatform:
|
targetPlatform:
|
||||||
- StandaloneOSX # Build a macOS standalone (Intel 64-bit).
|
- StandaloneOSX # Build a macOS standalone (Intel 64-bit).
|
||||||
# - StandaloneWindows64 # Build a Windows 64-bit standalone.
|
- StandaloneWindows64 # Build a Windows 64-bit standalone.
|
||||||
- StandaloneLinux64 # Build a Linux 64-bit standalone.
|
- StandaloneLinux64 # Build a Linux 64-bit standalone.
|
||||||
- WebGL # WebGL.
|
- WebGL # WebGL.
|
||||||
- iOS # Build an iOS player.
|
- iOS # Build an iOS player.
|
||||||
|
|
@ -128,7 +166,6 @@ jobs:
|
||||||
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}
|
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
targetPlatform: ${{ matrix.targetPlatform }}
|
targetPlatform: ${{ matrix.targetPlatform }}
|
||||||
cloudRunnerCluster: ${{ matrix.cloudRunnerCluster }}
|
cloudRunnerCluster: ${{ matrix.cloudRunnerCluster }}
|
||||||
githubChecks: true
|
|
||||||
- run: |
|
- run: |
|
||||||
tree ./cloud-runner-cache
|
tree ./cloud-runner-cache
|
||||||
cp ./cloud-runner-cache/cache/${{ steps.unity-build.outputs.CACHE_KEY }}/build/${{ steps.unity-build.outputs.BUILD_ARTIFACT }} ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
|
cp ./cloud-runner-cache/cache/${{ steps.unity-build.outputs.CACHE_KEY }}/build/${{ steps.unity-build.outputs.BUILD_ARTIFACT }} ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
|
||||||
|
|
@ -137,68 +174,3 @@ jobs:
|
||||||
name: ${{ matrix.cloudRunnerCluster }} Build (${{ matrix.targetPlatform }})
|
name: ${{ matrix.cloudRunnerCluster }} Build (${{ matrix.targetPlatform }})
|
||||||
path: ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
|
path: ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
|
||||||
retention-days: 14
|
retention-days: 14
|
||||||
buildTests:
|
|
||||||
name: Build Tests - Providers
|
|
||||||
if: github.event.event_type != 'pull_request_target'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
cloudRunnerCluster:
|
|
||||||
- aws
|
|
||||||
- local-docker
|
|
||||||
- k8s
|
|
||||||
targetPlatform:
|
|
||||||
#- StandaloneOSX # Build a macOS standalone (Intel 64-bit).
|
|
||||||
- StandaloneWindows64 # Build a Windows 64-bit standalone.
|
|
||||||
#- StandaloneLinux64 # Build a Linux 64-bit standalone.
|
|
||||||
#- WebGL # WebGL.
|
|
||||||
#- iOS # Build an iOS player.
|
|
||||||
#- Android # Build an Android .apk.
|
|
||||||
# steps
|
|
||||||
steps:
|
|
||||||
- name: Checkout (default)
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
lfs: true
|
|
||||||
|
|
||||||
- uses: google-github-actions/auth@v1
|
|
||||||
with:
|
|
||||||
credentials_json: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }}
|
|
||||||
- name: Get GKE cluster credentials
|
|
||||||
run: gcloud container clusters get-credentials $GKE_CLUSTER --zone $GKE_ZONE --project $GKE_PROJECT
|
|
||||||
|
|
||||||
- name: Configure AWS Credentials
|
|
||||||
uses: aws-actions/configure-aws-credentials@v1
|
|
||||||
with:
|
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
||||||
aws-region: eu-west-2
|
|
||||||
- run: yarn
|
|
||||||
- uses: ./
|
|
||||||
id: unity-build
|
|
||||||
timeout-minutes: 90
|
|
||||||
env:
|
|
||||||
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
|
|
||||||
with:
|
|
||||||
cloudRunnerTests: true
|
|
||||||
versioning: None
|
|
||||||
projectPath: test-project
|
|
||||||
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
targetPlatform: ${{ matrix.targetPlatform }}
|
|
||||||
cloudRunnerCluster: ${{ matrix.cloudRunnerCluster }}
|
|
||||||
customStepFiles: aws-s3-upload-build,aws-s3-pull-cache,aws-s3-upload-cache
|
|
||||||
githubChecks: true
|
|
||||||
- run: |
|
|
||||||
aws s3 cp s3://game-ci-test-storage/cloud-runner-cache/${{ steps.unity-build.outputs.CACHE_KEY }}/build/${{ steps.unity-build.outputs.BUILD_ARTIFACT }} ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
|
|
||||||
ls
|
|
||||||
- run: yarn run cli -m list-resources
|
|
||||||
if: always()
|
|
||||||
env:
|
|
||||||
cloudRunnerTests: true
|
|
||||||
CLOUD_RUNNER_CLUSTER: ${{ matrix.cloudRunnerCluster }}
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.cloudRunnerCluster }} Build (${{ matrix.targetPlatform }})
|
|
||||||
path: ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
|
|
||||||
retention-days: 14
|
|
||||||
|
|
|
||||||
|
|
@ -1516,7 +1516,7 @@ class AWSJobStack {
|
||||||
Parameters: parameters,
|
Parameters: parameters,
|
||||||
};
|
};
|
||||||
try {
|
try {
|
||||||
cloud_runner_logger_1.default.log(`Creating job aws formation`);
|
cloud_runner_logger_1.default.log(`Creating job aws formation ${taskDefCloudFormation}`);
|
||||||
yield CF.createStack(createStackInput).promise();
|
yield CF.createStack(createStackInput).promise();
|
||||||
yield CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
|
yield CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
|
||||||
}
|
}
|
||||||
|
|
@ -1553,7 +1553,7 @@ class AWSJobStack {
|
||||||
};
|
};
|
||||||
if (cloud_runner_options_1.default.useCleanupCron) {
|
if (cloud_runner_options_1.default.useCleanupCron) {
|
||||||
try {
|
try {
|
||||||
cloud_runner_logger_1.default.log(`Creating job cleanup formation`);
|
cloud_runner_logger_1.default.log(`Creating job cleanup formation ${cleanup_cron_formation_1.CleanupCronFormation.formation}`);
|
||||||
yield CF.createStack(createCleanupStackInput).promise();
|
yield CF.createStack(createCleanupStackInput).promise();
|
||||||
yield CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise();
|
yield CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -142,7 +142,7 @@ export class AWSJobStack {
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
CloudRunnerLogger.log(`Creating job aws formation`);
|
CloudRunnerLogger.log(`Creating job aws formation ${taskDefCloudFormation}`);
|
||||||
await CF.createStack(createStackInput).promise();
|
await CF.createStack(createStackInput).promise();
|
||||||
await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
|
await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
@ -179,7 +179,7 @@ export class AWSJobStack {
|
||||||
};
|
};
|
||||||
if (CloudRunnerOptions.useCleanupCron) {
|
if (CloudRunnerOptions.useCleanupCron) {
|
||||||
try {
|
try {
|
||||||
CloudRunnerLogger.log(`Creating job cleanup formation`);
|
CloudRunnerLogger.log(`Creating job cleanup formation ${CleanupCronFormation.formation}`);
|
||||||
await CF.createStack(createCleanupStackInput).promise();
|
await CF.createStack(createCleanupStackInput).promise();
|
||||||
await CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise();
|
await CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue