Add Android production release and testing builds workflows
Testing builds / test-and-build (push) Successful in 2m36s
Testing builds / test-and-build (push) Successful in 2m36s
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
name: Testing builds
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- testing
|
||||
|
||||
jobs:
|
||||
test-and-build:
|
||||
runs-on: godot
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
|
||||
- name: Show Godot version
|
||||
run: godot --version
|
||||
|
||||
- name: Import project
|
||||
run: |
|
||||
rm -rf .godot
|
||||
godot --headless --path . --editor --import --quit --verbose
|
||||
|
||||
- name: Run all tests
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
mapfile -t tests < <(find tests -maxdepth 1 -type f -name 'test_*.gd' | sort)
|
||||
test "${#tests[@]}" -gt 0
|
||||
|
||||
for test_file in "${tests[@]}"; do
|
||||
echo "::group::${test_file}"
|
||||
godot --headless --path . --script "res://${test_file}"
|
||||
echo "::endgroup::"
|
||||
done
|
||||
|
||||
- name: Build Android APK
|
||||
run: |
|
||||
mkdir -p build
|
||||
godot --headless --path . --export-release "Android" build/owniverse-testing.apk
|
||||
|
||||
- name: Build Windows EXE
|
||||
run: |
|
||||
godot --headless --path . --export-release "Windows Desktop" build/owniverse-testing.exe
|
||||
|
||||
- name: Verify builds
|
||||
run: |
|
||||
test -s build/owniverse-testing.apk
|
||||
test -s build/owniverse-testing.exe
|
||||
ls -lh build/owniverse-testing.apk build/owniverse-testing.exe
|
||||
|
||||
- name: Upload testing builds
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: owniverse-testing-${{ github.sha }}
|
||||
path: |
|
||||
build/owniverse-testing.apk
|
||||
build/owniverse-testing.exe
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
Reference in New Issue
Block a user