Add new input and basic test
parent
d9147cdc1d
commit
1a54f845f3
|
@ -263,3 +263,44 @@ jobs:
|
||||||
name: Test results (combined)
|
name: Test results (combined)
|
||||||
path: artifacts/
|
path: artifacts/
|
||||||
retention-days: 14
|
retention-days: 14
|
||||||
|
|
||||||
|
testPackageRunnerInEditMode:
|
||||||
|
name: Test package mode in edit mode 📦📝
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
unityVersion:
|
||||||
|
- 2019.2.11f1
|
||||||
|
projectPath:
|
||||||
|
- unity-project-with-correct-tests
|
||||||
|
steps:
|
||||||
|
###########################
|
||||||
|
# Checkout #
|
||||||
|
###########################
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# Cache(don't use yet) #
|
||||||
|
###########################
|
||||||
|
|
||||||
|
# Configure test runner
|
||||||
|
- name: Run tests
|
||||||
|
id: editMode
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
projectPath: ${{ matrix.projectPath }}
|
||||||
|
unityVersion: ${{ matrix.unityVersion }}
|
||||||
|
testMode: editmode
|
||||||
|
artifactsPath: artifacts/editmode
|
||||||
|
packageMode: true
|
||||||
|
|
||||||
|
# Upload artifacts
|
||||||
|
- name: Upload test results
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: Test results (edit mode)
|
||||||
|
path: ${{ steps.editMode.outputs.artifactsPath }}
|
||||||
|
retention-days: 14
|
||||||
|
|
|
@ -12,7 +12,7 @@ inputs:
|
||||||
description: 'Specific docker image that should be used for testing the project'
|
description: 'Specific docker image that should be used for testing the project'
|
||||||
projectPath:
|
projectPath:
|
||||||
required: false
|
required: false
|
||||||
description: 'Path to the Unity project to be tested.'
|
description: 'Path to the Unity project (or, in package mode, the path to the package directory) to be tested.'
|
||||||
testMode:
|
testMode:
|
||||||
required: false
|
required: false
|
||||||
default: 'all'
|
default: 'all'
|
||||||
|
@ -40,6 +40,10 @@ inputs:
|
||||||
required: false
|
required: false
|
||||||
default: 'Test Results'
|
default: 'Test Results'
|
||||||
description: 'Name for the check run that is created when a github token is provided.'
|
description: 'Name for the check run that is created when a github token is provided.'
|
||||||
|
packageMode:
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
description: 'Whether the tests are being run for a Unity package. Not needed for packages located within a Unity Project.'
|
||||||
outputs:
|
outputs:
|
||||||
artifactsPath:
|
artifactsPath:
|
||||||
description: 'Path where the artifacts are stored'
|
description: 'Path where the artifacts are stored'
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,8 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
echo "TEMP should print the jq version"
|
|
||||||
jq --version
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Set and display project path
|
# Set and display project path
|
||||||
#
|
#
|
||||||
|
@ -10,6 +7,33 @@ jq --version
|
||||||
UNITY_PROJECT_PATH="$GITHUB_WORKSPACE/$PROJECT_PATH"
|
UNITY_PROJECT_PATH="$GITHUB_WORKSPACE/$PROJECT_PATH"
|
||||||
echo "Using project path \"$UNITY_PROJECT_PATH\"."
|
echo "Using project path \"$UNITY_PROJECT_PATH\"."
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create an empty project for testing if in package mode
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ "$PACKAGE_MODE" = "true" ]; then
|
||||||
|
echo "Running tests on a Unity package rather than a Unity project."
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "###########################"
|
||||||
|
echo "# Package Folder #"
|
||||||
|
echo "###########################"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
cat UNITY_PROJECT_PATH
|
||||||
|
|
||||||
|
echo "Creating an empty Unity project to add the package to."
|
||||||
|
|
||||||
|
# unity-editor \
|
||||||
|
# -batchMode \
|
||||||
|
# -createProject "./TempProject" \
|
||||||
|
# -quit
|
||||||
|
|
||||||
|
jq --version
|
||||||
|
|
||||||
|
# UNITY_PROJECT_PATH="./TempProject"
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Set and display the artifacts path
|
# Set and display the artifacts path
|
||||||
#
|
#
|
||||||
|
|
|
@ -16,6 +16,7 @@ async function action() {
|
||||||
sshAgent,
|
sshAgent,
|
||||||
githubToken,
|
githubToken,
|
||||||
checkName,
|
checkName,
|
||||||
|
packageMode,
|
||||||
} = Input.getFromUser();
|
} = Input.getFromUser();
|
||||||
const baseImage = ImageTag.createForBase({ version: unityVersion, customImage });
|
const baseImage = ImageTag.createForBase({ version: unityVersion, customImage });
|
||||||
|
|
||||||
|
@ -33,6 +34,7 @@ async function action() {
|
||||||
useHostNetwork,
|
useHostNetwork,
|
||||||
customParameters,
|
customParameters,
|
||||||
sshAgent,
|
sshAgent,
|
||||||
|
packageMode,
|
||||||
githubToken,
|
githubToken,
|
||||||
});
|
});
|
||||||
} finally {
|
} finally {
|
||||||
|
|
|
@ -27,6 +27,7 @@ class Docker {
|
||||||
useHostNetwork,
|
useHostNetwork,
|
||||||
customParameters,
|
customParameters,
|
||||||
sshAgent,
|
sshAgent,
|
||||||
|
packageMode,
|
||||||
githubToken,
|
githubToken,
|
||||||
} = parameters;
|
} = parameters;
|
||||||
|
|
||||||
|
@ -43,6 +44,7 @@ class Docker {
|
||||||
--env TEST_MODE="${testMode}" \
|
--env TEST_MODE="${testMode}" \
|
||||||
--env ARTIFACTS_PATH="${artifactsPath}" \
|
--env ARTIFACTS_PATH="${artifactsPath}" \
|
||||||
--env CUSTOM_PARAMETERS="${customParameters}" \
|
--env CUSTOM_PARAMETERS="${customParameters}" \
|
||||||
|
--env PACKAGE_MODE="${packageMode}" \
|
||||||
--env GITHUB_REF \
|
--env GITHUB_REF \
|
||||||
--env GITHUB_SHA \
|
--env GITHUB_SHA \
|
||||||
--env GITHUB_REPOSITORY \
|
--env GITHUB_REPOSITORY \
|
||||||
|
|
|
@ -25,6 +25,7 @@ class Input {
|
||||||
const sshAgent = getInput('sshAgent') || '';
|
const sshAgent = getInput('sshAgent') || '';
|
||||||
const githubToken = getInput('githubToken') || '';
|
const githubToken = getInput('githubToken') || '';
|
||||||
const checkName = getInput('checkName') || 'Test Results';
|
const checkName = getInput('checkName') || 'Test Results';
|
||||||
|
const rawPackageMode = getInput('packageMode') || 'false';
|
||||||
|
|
||||||
// Validate input
|
// Validate input
|
||||||
if (!includes(this.testModes, testMode)) {
|
if (!includes(this.testModes, testMode)) {
|
||||||
|
@ -43,12 +44,17 @@ class Input {
|
||||||
throw new Error(`Invalid useHostNetwork "${rawUseHostNetwork}"`);
|
throw new Error(`Invalid useHostNetwork "${rawUseHostNetwork}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rawPackageMode !== 'true' && rawPackageMode !== 'false') {
|
||||||
|
throw new Error(`Invalid packageMode "${rawPackageMode}"`);
|
||||||
|
}
|
||||||
|
|
||||||
// Sanitise input
|
// Sanitise input
|
||||||
const projectPath = rawProjectPath.replace(/\/$/, '');
|
const projectPath = rawProjectPath.replace(/\/$/, '');
|
||||||
const artifactsPath = rawArtifactsPath.replace(/\/$/, '');
|
const artifactsPath = rawArtifactsPath.replace(/\/$/, '');
|
||||||
const useHostNetwork = rawUseHostNetwork === 'true';
|
const useHostNetwork = rawUseHostNetwork === 'true';
|
||||||
const unityVersion =
|
const unityVersion =
|
||||||
rawUnityVersion === 'auto' ? UnityVersionParser.read(projectPath) : rawUnityVersion;
|
rawUnityVersion === 'auto' ? UnityVersionParser.read(projectPath) : rawUnityVersion;
|
||||||
|
const packageMode = rawPackageMode === 'true';
|
||||||
|
|
||||||
// Return sanitised input
|
// Return sanitised input
|
||||||
return {
|
return {
|
||||||
|
@ -62,6 +68,7 @@ class Input {
|
||||||
sshAgent,
|
sshAgent,
|
||||||
githubToken,
|
githubToken,
|
||||||
checkName,
|
checkName,
|
||||||
|
packageMode,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue