Loading repository dataโฆ
Loading repository dataโฆ
godot-gdunit-labs / repository
๐ฎ Official GdUnit4 GitHub Action for automated testing in Godot 4.x projects. Supports GDScript & C#, test reporting, and CI/CD pipeline integration. Built for game developers to streamline their testing workflow.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This GitHub Action automates the execution of GdUnit4 (GDScript) and GdUnit4Net (CSharpScript) unit tests within the Godot Engine 4.x environment. It provides flexibility in configuring the Godot version, GdUnit4 version, test paths, and other parameters to suit your testing needs.
Basic GDScript testing:
name: GdUnit4 Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: godot-gdunit-labs/gdUnit4-action@v1
with:
godot-version: '4.2.1'
paths: 'res://tests'
The action can be configured using various inputs to suit your testing needs. Here's a basic usage pattern:
- uses: godot-gdunit-labs/gdUnit4-action@v1
with:
godot-version: '4.2.1' # Required: Godot version to use
paths: 'res://tests' # Required: Test directory
timeout: 10 # Optional: Test timeout in minutes
version: 'latest' # Optional: GdUnit4 version
| Parameter | Required | Default | Description |
|---|---|---|---|
| paths | Yes | Test directories (comma/newline-separated) |
| Parameter | Required | Default | Description |
|---|---|---|---|
| godot-version | Yes | Godot version (e.g., "4.2.1") | |
| godot-status | No | stable | Godot status (stable/rc1/dev1) |
| godot-net | No | false | Enable Godot .NET for C# tests |
| godot-force-mono | No | false | Force using Godot Net to run GDScript tests |
| Parameter | Required | Default | Description |
|---|---|---|---|
| dotnet-version | No | net8.0 | .NET version (net7.0/net8.0) |
| console-verbosity | No | minimal | Console logger verbosity for C# tests (quiet/minimal/normal/detailed/diagnostic) |
| Parameter | Required | Default | Description |
|---|---|---|---|
| version | No | latest | The GdUnit4 version to use (GDScript plugin) |
| timeout | No | 10 | Test timeout (minutes) |
| retries | No | 0 | Number of retry attempts |
| arguments | No | Additional GdUnit4 arguments | |
| warnings-as-errors | No | false | Treat test warnings as errors |
| Parameter | Required | Default | Description |
|---|---|---|---|
| publish-report | No | true | Enable test report publishing |
| upload-report | No | true | Enable report artifact upload |
| report-name | No | test-report.xml | Report filename |
- uses: godot-gdunit-labs/gdUnit4-action@v1
with:
godot-version: '4.2.1'
paths: 'res://tests'
- uses: godot-gdunit-labs/gdUnit4-action@v1
with:
godot-version: '4.2.1'
paths: 'res://tests'
warnings-as-errors: true # Fail the build on test warnings
- uses: godot-gdunit-labs/gdUnit4-action@v1
with:
godot-version: '4.2.1'
godot-net: true
paths: 'res://tests'
console-verbosity: 'normal' # Optional: increase output detail
jobs:
test:
strategy:
matrix:
godot-version: ['4.1.3', '4.2.1']
dotnet-version: ['net7.0', 'net8.0']
steps:
- uses: godot-gdunit-labs/gdUnit4-action@v1
with:
godot-version: ${{ matrix.godot-version }}
godot-net: true
dotnet-version: ${{ matrix.dotnet-version }}
paths: 'res://tests'
- uses: godot-gdunit-labs/gdUnit4-action@v1
with:
godot-version: '4.2.1'
paths: 'res://tests'
retries: 3
arguments: '--verbose --fail-fast'
For projects with non-standard layout:
root/
โโโ MyProject/
โ โโโ src/
โ โโโ tests/
- uses: godot-gdunit-labs/gdUnit4-action@v1
with:
godot-version: '4.2.1'
project_dir: './MyProject/'
paths: 'res://tests'
Test Discovery Failures
res:// prefixC# Test Issues
Timeout Issues
For GDScript tests, enable verbose output by adding --verbose to the arguments:
arguments: '--verbose'
For C# tests, control console output verbosity with console-verbosity (default: minimal):
godot-net: true
console-verbosity: 'normal' # Options: quiet, minimal, normal, detailed, diagnostic
arguments: '--verbose' # For Godot engine debug output
The action automatically caches:
When running tests from forked repositories:
publish-report: false to avoid permission issuesreport-name for artifact identificationA: All Godot 4.x versions are supported, including stable, RC, and dev builds.
A: Yes, use separate jobs or matrix testing with different configurations.
A: Use the retries parameter to automatically retry failed tests.
A: By default, warnings will be reported but won't fail the build. Use warnings-as-errors: true to treat warnings as failures.
We welcome contributions! Please see our contribution guidelines for details.
This project is released under the MIT License.