Skip to content

Add HIP3 support#7

Merged
gemcoder21 merged 15 commits intomainfrom
feature/hip3-support
Mar 28, 2026
Merged

Add HIP3 support#7
gemcoder21 merged 15 commits intomainfrom
feature/hip3-support

Conversation

@0xh3rman
Copy link
Copy Markdown
Contributor

0xh3rman and others added 15 commits March 27, 2026 20:28
Rename Perpetual.onlyIsolated to isIsolatedOnly across the codebase for clearer naming. Updated the Perpetual model, initializers, extensions, TestKit factories, GemstonePrimitives extension, and Primitives helpers. Updated store layer (PerpetualRecord) to use the new DB column and create-table schema, adjusted the migration to add isIsolatedOnly, and updated request defaults and unit tests to use the renamed property. This is a non-functional rename to standardize naming and keep tests/migrations in sync.
Introduce isIsolatedOnly for perpetuals and propagate the change across the codebase. Renamed/updated properties and mappings (PerpetualService, GetPerpetualImpl, DbPerpetual, PerpetualDetailsDataAggregate) and added the field to fake data fixtures in FakePerpetualRepository. Refactored asset price fetching in AssetsRepository to use getMarket(...) and map markets by asset id. Removed generated Room schema/migration artifacts (schema 68.json and Migration_67_68) and updated GemDatabase/DatabaseModule accordingly. Also added/updated several primitive types in gemcore (transaction/swap/approval-related types) to support these changes.
Use a unified title property for margin type and relocate the extension to PrimitivesComponents. Updated PerpetualPositionViewModel to use marginType.title instead of displayText, adjusted imports and minor formatting. Updated tests to expect the new capitalized title ("Isolated") and reordered test imports. Moved/renamed PerpetualMarginType extension file and changed the API from displayText to title. Also tweaked justfile test TARGET handling and added a comment.
Update CI to run unit tests instead of the previous test target and add a corresponding justfile task. The workflow step name and command were changed from `Run tests` / `just test` to `Run unit tests` / `just unit-test`, and a new `unit-test` target was added to android/justfile that invokes `./gradlew testGoogleDebugUnitTest` so CI runs JVM unit tests rather than connected instrumentation tests.
Simplify and extend the Android CI workflow to run instrumented tests on an emulator. Removed many commented setup/cache steps (assumes runner provides JDK/SDK/NDK/just), renamed the build step to run `just build`, and added steps to start an emulator, build instrumented tests (`just build-test`), run them (`just test`), and always stop the emulator. Added `start-emulator` and `stop-emulator` justfile targets that create a `ci-emulator` AVD if missing, boot and wait for it, disable animations for stability, and teardown the emulator at the end. GPR credential env handling is kept for the test/build steps.
Remove path filters from Android and iOS workflow triggers so the CI runs on all pushes and PRs to main. Update CurrencyFormatterTests.swift: reorder imports, rename several test methods (removed leading "test"), replace large numeric literals with underscore-separated forms for readability, adjust expected abbreviated-format strings (UK suffix changes) and minor whitespace/style tweaks.
Bump actions/checkout from v4 to v5 across CI workflows to use the newer checkout action. Updated files: .github/workflows/android-ci.yml, android-docker.yml, android-publish-base-image.yml, android-verify-apk.yml, ios-ci.yml, ios-ui-tests.yml. Preserves existing options such as submodules: recursive.
Remove hardcoded JAVA_HOME and ANDROID_HOME from the GitHub Actions workflow and add a runner toolchain validation step that verifies JAVA_HOME and ANDROID_HOME and exposes ANDROID_SDK_ROOT. Add android/scripts/android_emulator.sh to install SDK components, create/start an AVD and shut it down robustly (supports arch detection, local.properties fallback, configurable env vars like ANDROID_API, ANDROID_DEVICE, ANDROID_EMULATOR_BOOT_TIMEOUT, and boot timeout handling). Update android/justfile to call the new script for start-emulator and stop-emulator. These changes improve CI portability and emulator startup reliability.
Add emulator provisioning to CI and make Android SDK handling more robust.

- Workflow: add Android env vars (ANDROID_COMPILE_SDK, ANDROID_BUILD_TOOLS, ANDROID_API, ANDROID_AVD_NAME, ANDROID_EMULATOR_DEVICE), resolve brew/JDK/Android command-line tools, export JAVA_HOME and ANDROID_HOME, and run a new provision step before build.
- justfile: add provision-emulator task that calls the emulator script.
- android_emulator.sh: refactor and extend script to support a new 'provision' action, parameterize compile SDK, build-tools, API, AVD name, device and architecture, add helper functions (require_tool, install_sdk_packages, create_avd_if_missing), improve error messages, and add usage for provision/setup/shutdown.

These changes ensure the CI can install required SDK components and create/start an AVD reliably before running Android builds/tests.
@gemcoder21 gemcoder21 merged commit c4d572e into main Mar 28, 2026
2 checks passed
@gemcoder21 gemcoder21 deleted the feature/hip3-support branch March 28, 2026 00:59
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.

2 participants