Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
b766025
Make the screenshot tests run in an off frame buffer and correct gamm…
richardTingle May 2, 2026
97dc3c2
Make the definition of "the same" a bit more flexible to avoid instab…
richardTingle May 2, 2026
4b84b7b
Restore gamma correction
richardTingle May 2, 2026
602d25f
Set the colourspace for the off renderTexture
richardTingle May 4, 2026
2a428bc
Set the Srgb for the off renderTexture
richardTingle May 4, 2026
59164b3
Rebake minor visual changes for off frame buffer
richardTingle May 4, 2026
ec05b0d
Rearrange for submodule screenshot structure
richardTingle May 8, 2026
625c35b
Add in dependencies for android
richardTingle May 8, 2026
e215ab4
Bring it closer to the android initialiser project
richardTingle May 8, 2026
93d159e
Temporarily use non local android jme
richardTingle May 8, 2026
77f8178
Simple screenshot test
richardTingle May 8, 2026
036ab76
Wait for emulator
richardTingle May 8, 2026
e0cad2a
Dont save a snapshot, use mesa
richardTingle May 8, 2026
9787b0b
Make the emulator logs less likely to hang
richardTingle May 8, 2026
dbf0b9c
Bit closer to the android-emulator-runner docs
richardTingle May 8, 2026
9f36591
Add logging in test
richardTingle May 8, 2026
0780c16
Try a more modern pixel copy
richardTingle May 8, 2026
b5ef700
Capture logcat
richardTingle May 8, 2026
e897546
Only get my applications logcat
richardTingle May 8, 2026
a938fea
Pull logs inside app step
richardTingle May 8, 2026
808be1c
Prevent snapshots (which are erroring)
richardTingle May 8, 2026
3b02dfc
Actually grab the logcat
richardTingle May 8, 2026
f6c13e4
Use the actual location of the file
richardTingle May 8, 2026
6b65fbb
Save file to public directory
richardTingle May 8, 2026
96173d6
The whole logcat isn't too long
richardTingle May 8, 2026
a0ca84e
Pull image from quoted location
richardTingle May 8, 2026
cf235a3
Whole log cat actually a bit much to put in github logs
richardTingle May 8, 2026
d5cdeaa
Use latch to wait explicitly for write to complete
richardTingle May 8, 2026
c35e44c
Clean up the test code
richardTingle May 8, 2026
a475397
Go back to scoped storage as permissions do not allow downloads folder
richardTingle May 8, 2026
b9d850c
Pull file from within test
richardTingle May 8, 2026
b0ed44d
Use explicit file location
richardTingle May 8, 2026
70f7c08
Revert "Use explicit file location"
richardTingle May 9, 2026
14368e6
Revert "Pull file from within test"
richardTingle May 9, 2026
76d288c
Avoid auto unistall (which means I can't get the file)
richardTingle May 9, 2026
5edfa73
Try to get JME to render into the test
richardTingle May 9, 2026
44f5e07
Fresh emulator every time
richardTingle May 9, 2026
7ed17c5
Take the screenshot from the glSurfaceView
richardTingle May 9, 2026
f0eff53
Move the screenshot framework to a shared environment
richardTingle May 9, 2026
36f5a99
Extract out one of the tests ready for reuse
richardTingle May 9, 2026
4e18b18
Use git CLI for version metadata (#2709)
8Keep May 9, 2026
606fb03
Use an offbuffer for the CI screenshot tests (#2751)
richardTingle May 9, 2026
b50082c
Fix snapshot deploy version (#2756)
8Keep May 9, 2026
ffa66ad
Replace desktop backend with SDL3 GL and ANGLE-GLES (#2585)
riccardobl May 9, 2026
902769b
remove opencl (#2759)
riccardobl May 9, 2026
a9e8462
Add flipY option to StbImageLoader public API (#2758)
Copilot May 10, 2026
95a4b90
Restore deprecated Platform constants (#2762)
8Keep May 10, 2026
77af9bc
Secure snapshot deploy workflow actions (#2763)
riccardobl May 10, 2026
b5ba9c4
Fix Android prebuilt native extraction (#2770)
8Keep May 12, 2026
72f7aae
GraalVM support (#2740)
riccardobl May 12, 2026
e77e5e5
Restore Lighting.j3md fog in SinglePass by fixing SPLighting varying …
Copilot May 12, 2026
fc6b801
Update stb-image port version and improve StbImageLoader (#2772)
Copilot May 12, 2026
2666c88
ci: bump androidx.annotation:annotation from 1.7.1 to 1.10.0 (#2767)
dependabot[bot] May 12, 2026
9ab6ba9
ci: bump actions/github-script from 8.0.0 to 9.0.0 (#2768)
dependabot[bot] May 12, 2026
530c865
ci: bump actions/upload-artifact from 7.0.0 to 7.0.1 (#2769)
dependabot[bot] May 12, 2026
456e572
Merge remote-tracking branch 'official/master' into android-screensho…
richardTingle May 15, 2026
1e85933
Start introducing shared android screenshot functionality
richardTingle May 15, 2026
a2ff9bf
Allow for test scenarios to be booted to both android and desktop
richardTingle May 15, 2026
afd4fa6
Fix many warnings during build (#2698)
8Keep May 17, 2026
46b7eb8
Fix jme3-networking javadoc lint issues (#2711)
8Keep May 17, 2026
6dc668b
workaround vscode issue with jme3-examples runtimeOnly dependency to …
riccardobl May 17, 2026
7bd65d6
Improve IBL baker performance, Singlepass Spherical Harmonics baker …
riccardobl May 17, 2026
d93e758
Remove more deprecated android code and unify openal settings (#2776)
riccardobl May 17, 2026
05096e8
Start splitting out android specific elements
richardTingle May 17, 2026
177353a
ci: bump org.graalvm.nativeimage:svm from 23.1.2 to 25.0.2 (#2787)
dependabot[bot] May 19, 2026
da8102f
ci: bump lewagon/wait-on-check-action from 1.6.1 to 1.7.0 (#2786)
dependabot[bot] May 19, 2026
d8559f2
Improve gamepads rumble and add device rumble (#2790)
riccardobl May 19, 2026
868e2ad
ci: bump org.graalvm.sdk:nativeimage from 23.1.2 to 25.0.2 (#2789)
dependabot[bot] May 19, 2026
c23638a
Introduce androidx-storage to save the report persistently
richardTingle May 19, 2026
9f5b4bb
Close gaps in new renderers and use dedicated camera for framebuffer …
riccardobl May 21, 2026
da0188e
ci: bump org.graalvm.buildtools.native from 0.10.6 to 1.0.0 (#2788)
dependabot[bot] May 21, 2026
6dc0fe1
add missing button labels (#2795)
riccardobl May 22, 2026
566b074
Change from BufferedImage to JME Image for android compatibility
richardTingle May 22, 2026
57f87fa
New iOS SDL3 + GLES 3.0 Angle Metal backend (#2775)
riccardobl May 23, 2026
33902ef
Make `ZIPCompressedMessage` compression level instance-scoped while p…
Copilot May 23, 2026
2f90ab4
Buildscripts cleanup and removal of native projects from main repo (#…
riccardobl May 23, 2026
909708d
Remove obsolete isJava8Compatible() checks from Gradle files (#2755)
8Keep May 23, 2026
7af9536
Fix/lwjglx crash angle (canvas | AWT) (#2773)
JNightRider May 23, 2026
e03c773
Remove Java applet support (#2800)
8Keep May 24, 2026
dde5a11
fix: Canvas locking when using waitFor (AWT + lwjgl3) (#2748)
JNightRider May 24, 2026
add9b04
Work towards allowing android to write a proto report
richardTingle May 24, 2026
925ecf4
Hook in workflow for android screenshots
richardTingle May 24, 2026
3ad9d8d
Hook in workflow for android screenshots
richardTingle May 24, 2026
f001e54
Clean up ExtentReportExtensionJunit4
richardTingle May 24, 2026
09dbf79
Avoid reuse of AssetManager (as we are registering random folders)
richardTingle May 24, 2026
7017297
Give gradle more heap for build (specifically for the android build)
richardTingle May 24, 2026
5331aa3
Remove redundant request to write to external storage
richardTingle May 24, 2026
38df11e
Run the adb pulls even if the gradle step fails
richardTingle May 24, 2026
4eff799
Add the upgrade step for the report
richardTingle May 24, 2026
3ac08d8
Use more modern android for jackson support
richardTingle May 24, 2026
3abe9ba
Use x86_64 android
richardTingle May 24, 2026
5d209f4
Use x86_64 android
richardTingle May 24, 2026
33ac90f
Even more modern android
richardTingle May 24, 2026
a9cca06
Try 35 as docs only go up to 35
richardTingle May 24, 2026
b7e1de8
Remove the matrix as we only run one
richardTingle May 24, 2026
aa2ac55
Install test services before running test
richardTingle May 24, 2026
4c4a80e
Debug error codes
richardTingle May 24, 2026
085dd01
Update jmeAndroidNatives version in libs.versions.toml
riccardobl May 24, 2026
b1d2ef3
Create report directory before pulling to it
richardTingle May 24, 2026
8d7a7f6
Format the android screenshot tests readme
richardTingle May 24, 2026
1c4992f
Error if upgrade of report fails
richardTingle May 24, 2026
bd58967
Correct upgrade code to access the files with absolute paths
richardTingle May 24, 2026
05bf72f
Try to trap the error code better
richardTingle May 24, 2026
69f52e3
One giant line of doom
richardTingle May 24, 2026
b73e668
One giant line of doom 2
richardTingle May 24, 2026
665c36d
Just say -1 for a fail
richardTingle May 24, 2026
98aba20
Ensure report has a title
richardTingle May 24, 2026
7130677
Reinstate deserialisation constructor
richardTingle May 24, 2026
b53ed0c
Migrate all tests to be android & desktop tests
richardTingle May 24, 2026
b8a2cca
Ensure that we get a single test report
richardTingle May 24, 2026
73f8577
Run the whole thing in a single shell
richardTingle May 24, 2026
64ec98e
Include logcat
richardTingle May 24, 2026
a6542c8
Increase ram for emulator
richardTingle May 24, 2026
9f586f3
Allow app to have large heap
richardTingle May 24, 2026
08970e0
Even larger heap
richardTingle May 24, 2026
059f579
Remove some of the more memory intensive tests
richardTingle May 24, 2026
c5fae11
Remove some more of the more memory intensive tests
richardTingle May 24, 2026
7b0c650
Correct the calculateImageFilePrefix so it is flexible to thread dept…
richardTingle May 24, 2026
b8dc5bc
Remove more memory intensive tests
richardTingle May 24, 2026
0c0e209
Try for a wider device
richardTingle May 24, 2026
84a1254
Try to find available profiles
richardTingle May 24, 2026
6b3e00e
Try to find available profiles
richardTingle May 24, 2026
abd96e9
Initialise the reference images
richardTingle May 24, 2026
f49759d
Remove hardcoded spherical harmonics baker mode in pbr example
riccardobl May 24, 2026
e4caaf6
ci: bump org.graalvm.sdk:nativeimage from 25.0.2 to 25.0.3 (#2808)
dependabot[bot] May 25, 2026
43691d4
ci: bump org.graalvm.buildtools.native from 1.0.0 to 1.1.0 (#2805)
dependabot[bot] May 25, 2026
438fb94
ci: bump com.google.code.gson:gson from 2.13.2 to 2.14.0 (#2806)
dependabot[bot] May 25, 2026
b00c824
High density framebuffer and supersampling support (#2801)
riccardobl May 25, 2026
802669c
Load references images from resources (to make android happy)
richardTingle May 25, 2026
342cd25
Correct colours are ints, not bytes (as unsigned)
richardTingle May 25, 2026
89289eb
Use consistent pixel comparison
richardTingle May 25, 2026
da37de2
Log pixel errors
richardTingle May 25, 2026
ed163cd
Fix inverted "very similar" test
richardTingle May 25, 2026
d3f4b14
Set android tests to only run on push
richardTingle May 25, 2026
ba125f9
Restore android harness as it was
richardTingle May 25, 2026
2fc6913
Self review
richardTingle May 25, 2026
135a007
Single subshell to avoid EOF issues
richardTingle May 25, 2026
64fca29
Avoid richard actually being contacted by the message
richardTingle May 25, 2026
4147b76
Merge remote-tracking branch 'official/master' into android-screensho…
richardTingle May 25, 2026
758a225
Wrap whole shell in a >
richardTingle May 25, 2026
f1a9d83
Natives moved out of project
richardTingle May 25, 2026
64ffd13
Adding full support for custom materials to GltfLoader (#2725)
theMinka May 26, 2026
1a32b66
Virtual/on-screen joystick support (#2803)
riccardobl May 26, 2026
16a28cc
Update libjglios (#2813)
riccardobl May 26, 2026
ed0b493
Fix KHRToneMap vec3 typo (#2815)
riccardobl May 27, 2026
aa8427c
Include ios and android example modules only when their tasks are exe…
riccardobl May 28, 2026
d1edfa0
make ios check AppSettings.isEmulateMouse before enabling mouse event…
riccardobl May 28, 2026
4212ae8
support exclusive fullscreen (#2814)
riccardobl May 28, 2026
5f6eca8
Enable Javadoc doclint errors (#2799)
8Keep May 28, 2026
5d7ee66
Revert "Enable Javadoc doclint errors (#2799)" (#2826)
riccardobl May 28, 2026
8cfd642
Default shader version selection to GLSL300 for GLES3 (#2819)
riccardobl May 28, 2026
d5cdad6
Don't force non-srgb capable framebuffer in desktop backend (#2824)
riccardobl May 28, 2026
d4d98e2
Fix shader issues (#2828)
riccardobl May 28, 2026
3433603
Add abstract iOS launcher (#2829)
riccardobl May 28, 2026
032a493
Default EnvironmentProbe SH baking to FAST and remove AUTO mode (#2817)
Copilot May 28, 2026
62ea013
Enable Javadoc doclint errors (#2831)
8Keep May 28, 2026
f5a37ff
Preserve buffer positions during binary export (#2821)
ittaigolde May 28, 2026
b49f77c
Export built-in fonts as j3o to remove PNG loader dependency in jme3-…
Copilot May 29, 2026
1c2822a
Restore GLES support for BGR/ARGB/BGRA/ABGR texture formats via swizz…
Copilot May 29, 2026
0368453
Memory allocators overhaul (#2835)
riccardobl May 29, 2026
0223c9a
More recent java version
richardTingle May 31, 2026
ba6ce88
Update location of desktop screenshot tests
richardTingle May 31, 2026
1451935
Merge remote-tracking branch 'official/master' into android-screensho…
richardTingle May 31, 2026
6c51634
Fix AndroidTestHarness for change in AndroidHarnessFragment
richardTingle May 31, 2026
396d57a
Ensure file load still works for screenshot tests
richardTingle May 31, 2026
812e3d0
Move reference files within normal resources
richardTingle Jun 2, 2026
8da89c0
All desktop screenshot tests with their correct base
richardTingle Jun 2, 2026
1d6c109
Use same layout as in the android example
richardTingle Jun 2, 2026
7d8b1f6
Simpler layout
richardTingle Jun 2, 2026
ce0befe
Correct javadoc
richardTingle Jun 2, 2026
09581c6
Correct attached image save location
richardTingle Jun 5, 2026
5691c66
Gen the generated images back from the android run if they are differ…
richardTingle Jun 5, 2026
ac5b247
.png suffix on changeed images
richardTingle Jun 5, 2026
6020741
Restore accidentally changed ScenarioPostWater values
richardTingle Jun 5, 2026
21f51a2
Rebake images at new size
richardTingle Jun 5, 2026
151cc8e
Rebake images at new size
richardTingle Jun 5, 2026
944c339
Add missing copywright notices
richardTingle Jun 5, 2026
c5cab03
Add missing reference images
richardTingle Jun 5, 2026
b5f9abb
Don't prematurely fail test, allow all images to be collected
richardTingle Jun 5, 2026
994d563
Add missing images
richardTingle Jun 5, 2026
02653a0
Deliberately mess with images
richardTingle Jun 5, 2026
e508dc8
Replace ImagePixelWrapper with the Raster for more cross format pixel…
richardTingle Jun 5, 2026
9087459
Ensure images are always in the right format for writing
richardTingle Jun 5, 2026
6e229c1
Ensure images are ready for writing
richardTingle Jun 5, 2026
a5fc885
Just always do a conversion to solve the weird purple expected images…
richardTingle Jun 6, 2026
476ef49
Simplify conversion to RGBA8
richardTingle Jun 6, 2026
cf6a5ba
Enforce LITTLE_ENDIAN for attached images
richardTingle Jun 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 0 additions & 22 deletions .github/actions/tools/minio.sh

This file was deleted.

84 changes: 84 additions & 0 deletions .github/workflows/android-screenshot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Android Screenshot Test

on:
push:
branches:
- master
- v3.7
- v3.6
- v3.5
- v3.4
- v3.3
- ios-2024_2
pull_request:

jobs:
screenshot-test-android:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: checkout
uses: actions/checkout@v6
- name: Setup the java environment
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: Gradle cache
uses: gradle/actions/setup-gradle@v5

- name: AVD cache
uses: actions/cache@v5
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-35
- name: Run Android Screenshot Test
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 35
avd-name: test_avd
target: google_apis
arch: x86_64
force-avd-creation: true
ram-size: 4096M
heap-size: 2048M
profile: pixel_tablet
emulator-options: -no-window -gpu mesa -noaudio -no-boot-anim -camera-back none -no-snapshot -no-snapshot-save -no-snapshot-load
disable-animations: false
script: >
curl -L https://maven.google.com/androidx/test/services/test-services/1.6.0/test-services-1.6.0.apk --output test-services-1.6.0.apk;
adb install -r -g test-services-1.6.0.apk;
adb uninstall org.jmonkeyengine.screenshottests.android || true;
./gradlew :jme3-screenshot-tests:jme3-screenshot-tests-android:connectedDebugAndroidTest;
exit_code=$?;
mkdir -p logcat;
adb logcat -d > logcat/logcat_full.txt || true;
adb logcat -d | grep org.jmonkeyengine.screenshottests.android > logcat/logcat.txt || true;
mkdir -p report;
adb pull /storage/emulated/0/googletest/test_outputfiles/report report/protoReport || true;
adb pull /storage/emulated/0/googletest/test_outputfiles/changed-images report/changed-images || true;
./gradlew :jme3-screenshot-tests:jme3-screenshot-tests-proto-report:upgradeProtoReport --args="$(pwd)/report/protoReport $(pwd)/report/extentReport" || true;
echo "GRADLE_EXIT_CODE=$exit_code" >> $GITHUB_ENV;
exit $exit_code
- name: Upload logcat
uses: actions/upload-artifact@v4
if: always()
with:
name: android-logcat
path: logcat
- name: Upload Screenshot
uses: actions/upload-artifact@v4
if: always()
with:
name: android-screenshot-report
path: report
if-no-files-found: error
2 changes: 1 addition & 1 deletion .github/workflows/bounty.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
if: startsWith(github.event.label.name, 'diff:')
steps:
- name: Comment bounty info
uses: actions/github-script@v8.0.0
uses: actions/github-script@v9.0.0
env:
FORUM_URL: "https://hub.jmonkeyengine.org/t/bounty-program-trial-starts-today/49394/"
RESERVE_HOURS: "48"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/j3o-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: '17'
java-version: '25'

- name: Scan J3O assets
run: ./gradlew :jme3-desktop:scanJ3O --console=plain
Loading
Loading