Skip to content

Add CI build and release workflows#12

Closed
DiplomaticRobot wants to merge 18 commits intosyntaxerror247:mainfrom
SomniGameStudios:ci/build-and-release
Closed

Add CI build and release workflows#12
DiplomaticRobot wants to merge 18 commits intosyntaxerror247:mainfrom
SomniGameStudios:ci/build-and-release

Conversation

@DiplomaticRobot
Copy link
Contributor

Summary

  • Add build.yml workflow that runs ./gradlew build on PRs to main and manual dispatch (JDK 17, Gradle caching)
  • Add release.yml workflow with manual dispatch that builds, packages the addon as a ZIP, and creates a GitHub Release
  • Mirrors the CI pattern from godot-firebase-ios

Test plan

  • This PR triggers build.yml — verify it passes
  • After merge, trigger release.yml manually with a test version (e.g. 0.1.0) to verify release creation

🤖 Generated with Claude Code

DiplomaticRobot and others added 18 commits March 14, 2026 18:41
Wrap button areas in ScrollContainer with touch-drag scrolling support.
Add timestamped log output and Clear Output button to all demo scenes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add full demo support for Firebase Remote Config and Analytics: new scenes and scripts (remote_config.gd, analytics.gd and their .tscn/.uid files) with UI and logging output. Update demo/main.gd to load the new scenes and add navigation handlers, and update demo/main.tscn to add Remote Config and Analytics buttons with signal connections. Remote Config scene supports initialize, set defaults, fetch & activate and reading values; Analytics scene supports logging events/purchases, setting user ID/property, resetting and toggling collection.
Add firebase-analytics and firebase-config to Android dependency list in export_plugin.gd. Update Godot scene files (demo/scenes/analytics.tscn and remote_config.tscn) by adding scene/ext_resource UIDs and unique_id attributes for nodes.
## Summary
- **Auth:** emulator support, reauthenticate, auth state listener, ID
tokens, profile/password update, reload user, unlink provider (9
methods, 5 signals)
- **Firestore:** emulator support, collection listeners, WriteBatch
(create/set/update/delete/commit), transactions, FieldValue helpers —
serverTimestamp, arrayUnion, arrayRemove, increment, deleteField (14
methods, 3 signals)
- **Analytics:** default event params, app instance ID (async w/
signal), consent management, session timeout (4 methods, 1 signal)
- **Remote Config:** separate fetch/activate, configurable fetch
interval & timeout, typed getters (getAll, getJson), value source, fetch
status/time, real-time update listener (11 methods, 2 signals)
- **Docs:** updated authentication.md and firestore.md, added
analytics.md and remote_config.md
- **Demo scenes:** added 33 new buttons across all 4 modules to test
every new method; reordered Remote Config and Analytics demos to match
iOS plugin layout for consistency

Brings the Android plugin to feature parity with the iOS plugin across
all four modules.

## Test plan
- [x] `./gradlew assemble` compiles without errors
- [x] Auth: test emulator, reauthenticate, auth state listener, ID
token, profile update, password update, reload, unlink
- [x] Firestore: test emulator, collection listener, query documents,
batch write + commit, transaction, server timestamp, increment
- [x] Analytics: test default event params, get instance ID, consent
grant/deny, session timeout
- [x] Remote Config: test separate fetch/activate, dev interval, fetch
timeout, getAll, getJson, value source, fetch status, real-time listener
- [x] Verify demo button ordering matches iOS plugin demo layout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add GitHub Actions workflows mirroring the iOS plugin's CI setup:
- build.yml: runs on PRs to main and manual dispatch, builds with ./gradlew build
- release.yml: manual dispatch with version input, builds, packages addon zip, creates GitHub release

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant