summaryrefslogtreecommitdiffstats
path: root/.github/actions/godot-project-test
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2023-08-01 20:38:07 +0200
committerYuri Sizov <yuris@humnom.net>2023-08-01 20:41:45 +0200
commitdeb602578186a8918270cf05d75efd3e72bd9335 (patch)
tree48e44875fca318084c0aa2c05ecb7605ac270980 /.github/actions/godot-project-test
parent2992ffd25523cb8b3e0ef1b873c40115b8940178 (diff)
downloadredot-engine-deb602578186a8918270cf05d75efd3e72bd9335.tar.gz
CI: Extract godot-cpp testing into its own job
This ensures that the godot-cpp job has plenty of resources to run its build and avoid being affected by the main build. Additionally: - Extract test tasks into dedicated actions. - Upload artifacts as early as possible. - Ensure that we check master cache before random cache.
Diffstat (limited to '.github/actions/godot-project-test')
-rw-r--r--.github/actions/godot-project-test/action.yml37
1 files changed, 37 insertions, 0 deletions
diff --git a/.github/actions/godot-project-test/action.yml b/.github/actions/godot-project-test/action.yml
new file mode 100644
index 0000000000..fd8c024a37
--- /dev/null
+++ b/.github/actions/godot-project-test/action.yml
@@ -0,0 +1,37 @@
+name: Test Godot project
+description: Run the test Godot project.
+inputs:
+ bin:
+ description: The path to the Godot executable
+ required: true
+runs:
+ using: "composite"
+ steps:
+ # Download and extract zip archive with project, folder is renamed to be able to easy change used project
+ - name: Download test project
+ shell: sh
+ run: |
+ wget https://github.com/godotengine/regression-test-project/archive/4.0.zip
+ unzip 4.0.zip
+ mv "regression-test-project-4.0" "test_project"
+
+ # Editor is quite complicated piece of software, so it is easy to introduce bug here.
+
+ - name: Open and close editor (Vulkan)
+ shell: sh
+ run: |
+ xvfb-run ${{ inputs.bin }} --audio-driver Dummy --editor --quit --path test_project 2>&1 | tee sanitizers_log.txt || true
+ misc/scripts/check_ci_log.py sanitizers_log.txt
+
+ - name: Open and close editor (GLES3)
+ shell: sh
+ run: |
+ DRI_PRIME=0 xvfb-run ${{ inputs.bin }} --audio-driver Dummy --rendering-driver opengl3 --editor --quit --path test_project 2>&1 | tee sanitizers_log.txt || true
+ misc/scripts/check_ci_log.py sanitizers_log.txt
+
+ # Run test project
+ - name: Run project
+ shell: sh
+ run: |
+ xvfb-run ${{ inputs.bin }} 40 --audio-driver Dummy --path test_project 2>&1 | tee sanitizers_log.txt || true
+ misc/scripts/check_ci_log.py sanitizers_log.txt