Add direct ROM launch support for ES-DE/Beacon launchers and build CI…#1098
Closed
sweatyeggs69 wants to merge 3 commits intoSwordfish90:masterfrom
Closed
Add direct ROM launch support for ES-DE/Beacon launchers and build CI…#1098sweatyeggs69 wants to merge 3 commits intoSwordfish90:masterfrom
sweatyeggs69 wants to merge 3 commits intoSwordfish90:masterfrom
Conversation
… workflow - Register ExternalGameLauncherActivity for content:// and file:// URI schemes so external launchers (ES-DE, Beacon) can launch ROMs directly by file path - Update ExternalGameLauncherActivity to resolve ROMs from the library by exact URI match with filename fallback when scheme differs (e.g. indexer uses content:// but launcher sends file://) - Add GameDao.selectByFileName() query to support the filename fallback lookup - Add .github/workflows/build.yml that builds a debug APK on every push to master or claude/** branches and on pull requests, uploading the APK as an artifact https://claude.ai/code/session_0172bQeaHQRzBXzAbhkpSoxw
The previous workflow used `assembleFreeDebug` which is not a valid Gradle task because the project has two flavor dimensions (opensource + cores). The correct task for a self-contained release APK is `assembleFreeBundleRelease`. Changes: - Use assembleFreeBundleRelease (free + bundled cores + release build type) - Generate a release.jks at CI time using the hardcoded credentials already present in build.gradle.kts, with fallback to RELEASE_KEYSTORE secret when available so the official key can be used if set up - Fix the APK output path to match the freeBundle/release variant - Extend artifact retention to 30 days https://claude.ai/code/session_0172bQeaHQRzBXzAbhkpSoxw
- Switch from assembleFreeBundleRelease to assembleFreeDynamicRelease: the
bundle variant requires the lemuroid-cores submodule to be fully populated
with compiled .so files, which are absent in CI. The dynamic variant (used
by publish.yml) downloads cores at runtime and has no such requirement.
- Update APK artifact path to match freeDynamic/release output.
- Remove redundant substringAfterLast('/') on uri.lastPathSegment which
already returns only the final path segment.
- Use an explicit val resolvedGame to eliminate the nullable var smart-cast
ambiguity when calling launchGame(Game).
https://claude.ai/code/session_0172bQeaHQRzBXzAbhkpSoxw
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
… workflow
https://claude.ai/code/session_0172bQeaHQRzBXzAbhkpSoxw