cleanup local pipeline, log aws formation

pull/479/head
Frostebite 2022-12-14 20:32:11 +00:00
parent a9063229da
commit c971c9351b
5 changed files with 46 additions and 169 deletions

View File

@ -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

View File

@ -28,7 +28,7 @@ env:
jobs:
integrationTests:
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
strategy:
fail-fast: false
@ -92,7 +92,45 @@ jobs:
CLOUD_RUNNER_CLUSTER: ${{ matrix.cloudRunnerCluster }}
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
if: github.event.event_type != 'pull_request_target'
runs-on: ubuntu-latest
@ -105,7 +143,7 @@ jobs:
#- k8s
targetPlatform:
- 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.
- WebGL # WebGL.
- iOS # Build an iOS player.
@ -128,7 +166,6 @@ jobs:
gitPrivateToken: ${{ secrets.GITHUB_TOKEN }}
targetPlatform: ${{ matrix.targetPlatform }}
cloudRunnerCluster: ${{ matrix.cloudRunnerCluster }}
githubChecks: true
- run: |
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 }}
@ -137,68 +174,3 @@ jobs:
name: ${{ matrix.cloudRunnerCluster }} Build (${{ matrix.targetPlatform }})
path: ${{ steps.unity-build.outputs.BUILD_ARTIFACT }}
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

4
dist/index.js vendored
View File

@ -1516,7 +1516,7 @@ class AWSJobStack {
Parameters: parameters,
};
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.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
}
@ -1553,7 +1553,7 @@ class AWSJobStack {
};
if (cloud_runner_options_1.default.useCleanupCron) {
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.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise();
}

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -142,7 +142,7 @@ export class AWSJobStack {
};
try {
CloudRunnerLogger.log(`Creating job aws formation`);
CloudRunnerLogger.log(`Creating job aws formation ${taskDefCloudFormation}`);
await CF.createStack(createStackInput).promise();
await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
} catch (error) {
@ -179,7 +179,7 @@ export class AWSJobStack {
};
if (CloudRunnerOptions.useCleanupCron) {
try {
CloudRunnerLogger.log(`Creating job cleanup formation`);
CloudRunnerLogger.log(`Creating job cleanup formation ${CleanupCronFormation.formation}`);
await CF.createStack(createCleanupStackInput).promise();
await CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise();
} catch (error) {