Compare commits
No commits in common. "main" and "v4.2.0" have entirely different histories.
|
@ -45,7 +45,7 @@ GameCI is free for everyone forever.
|
|||
|
||||
You can support us at [OpenCollective](https://opencollective.com/game-ci).
|
||||
|
||||
## License
|
||||
## Licence
|
||||
|
||||
This repository is [MIT](./LICENSE) licensed.
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -65,14 +65,7 @@ elif [[ -n "$UNITY_LICENSING_SERVER" ]]; then
|
|||
FLOATING_LICENSE=$(sed -n 2p <<< "$PARSEDFILE")
|
||||
FLOATING_LICENSE_TIMEOUT=$(sed -n 4p <<< "$PARSEDFILE")
|
||||
|
||||
if [[ -z "$FLOATING_LICENSE" || -z "$FLOATING_LICENSE_TIMEOUT" ]]; then
|
||||
echo "::error ::Failed to acquire floating license from Unity Licensing Server."
|
||||
echo "Check the activation log below for more details."
|
||||
cat license.txt
|
||||
else
|
||||
echo "Acquired floating license: \"$FLOATING_LICENSE\" with timeout $FLOATING_LICENSE_TIMEOUT"
|
||||
fi
|
||||
|
||||
echo "Acquired floating license: \"$FLOATING_LICENSE\" with timeout $FLOATING_LICENSE_TIMEOUT"
|
||||
# Store the exit code from the verify command
|
||||
else
|
||||
#
|
||||
|
|
|
@ -36,25 +36,6 @@ echo "Using custom parameters $CUSTOM_PARAMETERS."
|
|||
|
||||
echo "Using Unity version \"$UNITY_VERSION\" to test."
|
||||
|
||||
#
|
||||
# Setup token for private package registry.
|
||||
#
|
||||
|
||||
if [ -n "$PRIVATE_REGISTRY_TOKEN" ]; then
|
||||
echo "Private registry token detected, creating .upmconfig.toml"
|
||||
|
||||
UPM_CONFIG_TOML_PATH="$HOME/.upmconfig.toml"
|
||||
echo "Creating toml at path: $UPM_CONFIG_TOML_PATH"
|
||||
|
||||
touch $UPM_CONFIG_TOML_PATH
|
||||
|
||||
cat > "$UPM_CONFIG_TOML_PATH" <<EOF
|
||||
[npmAuth."$SCOPED_REGISTRY_URL"]
|
||||
token = "$PRIVATE_REGISTRY_TOKEN"
|
||||
alwaysAuth = true
|
||||
EOF
|
||||
fi
|
||||
|
||||
#
|
||||
# Create an empty project for testing if in package mode
|
||||
#
|
||||
|
@ -139,6 +120,20 @@ if [ "$PACKAGE_MODE" = "true" ]; then
|
|||
|
||||
UNITY_PROJECT_PATH="$TEMP_PROJECT_PATH"
|
||||
|
||||
if [ -n "$PRIVATE_REGISTRY_TOKEN" ]; then
|
||||
echo "Private registry token detected, creating .upmconfig.toml"
|
||||
|
||||
UPM_CONFIG_TOML_PATH="$HOME/.upmconfig.toml"
|
||||
echo "Creating toml at path: $UPM_CONFIG_TOML_PATH"
|
||||
|
||||
touch $UPM_CONFIG_TOML_PATH
|
||||
|
||||
cat > "$UPM_CONFIG_TOML_PATH" <<EOF
|
||||
[npmAuth."$SCOPED_REGISTRY_URL"]
|
||||
token = "$PRIVATE_REGISTRY_TOKEN"
|
||||
alwaysAuth = true
|
||||
EOF
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
@ -285,4 +280,4 @@ if [ -d "$FULL_COVERAGE_RESULTS_PATH" ]; then
|
|||
chmod -R a+r "$FULL_COVERAGE_RESULTS_PATH"
|
||||
else
|
||||
echo "Coverage results directory does not exist. If you are expecting coverage results, please make sure the Code Coverage package is installed in your unity project and that it is set up correctly."
|
||||
fi
|
||||
fi
|
|
@ -22,18 +22,9 @@ const ResultsCheck = {
|
|||
files.map(async filepath => {
|
||||
if (!filepath.endsWith('.xml')) return;
|
||||
core.info(`Processing file ${filepath}...`);
|
||||
try {
|
||||
const content = fs.readFileSync(path.join(artifactsPath, filepath), 'utf8');
|
||||
if (!content.includes('<test-run')) {
|
||||
// noinspection ExceptionCaughtLocallyJS
|
||||
throw new Error('File does not appear to be a NUnit XML file');
|
||||
}
|
||||
const fileData = await ResultsParser.parseResults(path.join(artifactsPath, filepath));
|
||||
core.info(fileData.summary);
|
||||
runs.push(fileData);
|
||||
} catch (error: any) {
|
||||
core.warning(`Failed to parse ${filepath}: ${error.message}`);
|
||||
}
|
||||
const fileData = await ResultsParser.parseResults(path.join(artifactsPath, filepath));
|
||||
core.info(fileData.summary);
|
||||
runs.push(fileData);
|
||||
}),
|
||||
);
|
||||
|
||||
|
@ -85,12 +76,10 @@ const ResultsCheck = {
|
|||
const pullRequest = github.context.payload.pull_request;
|
||||
const headSha = (pullRequest && pullRequest.head.sha) || github.context.sha;
|
||||
|
||||
// Check max length for https://github.com/game-ci/unity-test-runner/issues/214
|
||||
const maxLength = 65_534;
|
||||
if (output.text.length > maxLength) {
|
||||
core.warning(`Test details of ${output.text.length} surpass limit of ${maxLength}`);
|
||||
output.text =
|
||||
'Test details omitted from GitHub UI due to length. See console logs for details.';
|
||||
if (output.length > maxLength) {
|
||||
core.warning(`Output too long (${output.length}) truncating to ${maxLength}`);
|
||||
output = output.slice(0, maxLength);
|
||||
}
|
||||
|
||||
core.info(`Posting results for ${headSha}`);
|
||||
|
|
|
@ -248,13 +248,5 @@ at Tests.SetupFailedTest.SetUp () [0x00000] in /github/workspace/unity-project/A
|
|||
expect(result.path).toBe('/github/workspace/unity-project/Assets/Tests/SetupFailedTest.cs');
|
||||
expect(result.line).toBe(10);
|
||||
});
|
||||
|
||||
test('Debug.LogError annotation point', () => {
|
||||
const result = ResultsParser.findAnnotationPoint(
|
||||
`FMODUnity.RuntimeUtils:DebugLogError (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:580)`,
|
||||
);
|
||||
expect(result.path).toBe('Assets/Plugins/FMOD/src/RuntimeUtils.cs');
|
||||
expect(result.line).toBe(580);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -127,13 +127,12 @@ const ResultsParser = {
|
|||
},
|
||||
|
||||
findAnnotationPoint(trace) {
|
||||
const regex = /at(?: .* in)? ((?<path>[^:]+):(?<line>\d+))/;
|
||||
// Find first entry with non-zero line number in stack trace
|
||||
const items = trace.match(new RegExp(regex, 'g'));
|
||||
const items = trace.match(/at .* in ((?<path>[^:]+):(?<line>\d+))/g);
|
||||
if (Array.isArray(items)) {
|
||||
const result: { path: any; line: number }[] = [];
|
||||
for (const item of items) {
|
||||
const match = item.match(regex);
|
||||
const match = item.match(/at .* in ((?<path>[^:]+):(?<line>\d+))/);
|
||||
const point = {
|
||||
path: match ? match.groups.path : '',
|
||||
line: match ? Number(match.groups.line) : 0,
|
||||
|
@ -147,7 +146,7 @@ const ResultsParser = {
|
|||
}
|
||||
}
|
||||
// If all entries have zero line number match fallback pattern
|
||||
const match = trace.match(regex);
|
||||
const match = trace.match(/at .* in ((?<path>[^:]+):(?<line>\d+))/);
|
||||
return {
|
||||
path: match ? match.groups.path : '',
|
||||
line: match ? Number(match.groups.line) : 0,
|
||||
|
|
Loading…
Reference in New Issue