Skip to content

SDKS-5050: Release activities#48

Open
tsdamas wants to merge 8 commits into
mainfrom
SDKS-5050
Open

SDKS-5050: Release activities#48
tsdamas wants to merge 8 commits into
mainfrom
SDKS-5050

Conversation

@tsdamas
Copy link
Copy Markdown
Contributor

@tsdamas tsdamas commented Jun 5, 2026

Summary by CodeRabbit

  • Chores

    • E2E testing now uses BrowserStack app/test IDs (not URLs); CI test runner receives those IDs.
    • Limit Jest workers in CI for more stable test runs.
    • Gradle build script excludes specific license/manifest files from packaged Android resources.
    • Added native subprojects and updated Android build tasks; bumped Detox BrowserStack dev dependency.
  • Bug Fixes

    • Re-enabled Android E2E workflow to run in CI after unit tests.

@tsdamas tsdamas added the wip Working in progress, do not review. label Jun 5, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 5, 2026

Review Change Stack

Warning

Review limit reached

@tsdamas, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 57 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 037f9460-41cd-47a0-86f4-3f46fbbdb319

📥 Commits

Reviewing files that changed from the base of the PR and between d3395ee and 2a79713.

📒 Files selected for processing (2)
  • .github/workflows/browserstack-e2e-android.yml
  • PingTestRunner/.detoxrc.js
📝 Walkthrough

Walkthrough

The PR switches BrowserStack uploads/tests to use API-returned app_id/app_client_id, exposes them as workflow outputs, enables the BrowserStack Android CI job, updates Detox to consume BROWSERSTACK_APP_ID/BROWSERSTACK_TEST_ID, adjusts Jest worker settings in CI, and makes Android/runner build config tweaks.

Changes

BrowserStack ID-based app resolution

Layer / File(s) Summary
Enable BrowserStack CI job
.github/workflows/ci.yml
The browserstack-android job's disabling guard was removed so the job can run in CI.
Generate codegen artifacts formatting
.github/workflows/browserstack-e2e-android.yml
Reformatted the multi-line ./gradlew invocation used to generate codegen artifacts.
Workflow app ID extraction and validation
.github/workflows/browserstack-e2e-android.yml
The "Upload app" and "Upload app client" steps parse .app_id and .app_client_id, validate non-empty values, expose them as step outputs, and run-tests passes BROWSERSTACK_APP_ID and BROWSERSTACK_TEST_ID to the test runner.
Detox configuration for ID-based resolution
PingTestRunner/.detoxrc.js
testRunner.args no longer sets $0: 'jest' and sets maxWorkers: process.env.CI ? 1 : undefined. apps['android.cloud'] now reads app and appClient from BROWSERSTACK_APP_ID and BROWSERSTACK_TEST_ID.
PingTestRunner Android wiring and packaging
PingTestRunner/android/app/build.gradle, PingTestRunner/android/settings.gradle, PingTestRunner/package.json
Added android.packaging.resources exclusions, included additional Android subprojects and projectDirs, switched Gradle task invocations to :app:-prefixed targets, and bumped devDependencies.detox cloud version.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 IDs fetched from clouds of blue,
A tiny hop from old to new,
Workflows whisper values clear,
Detox listens, tests appear,
I nibble logs and cheer for you!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'SDKS-5050: Release activities' is vague and does not clearly summarize the main changes in the pull request, which involve BrowserStack configuration updates, E2E test runner changes, and CI/CD workflow adjustments. Revise the title to be more specific about the primary changes, such as 'SDKS-5050: Migrate BrowserStack E2E tests to use app IDs instead of URLs' or similar descriptive language that captures the key technical changes.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch SDKS-5050

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 5, 2026

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://ForgeRock.github.io/ping-react-native-sdk/docs-preview/pr-48/

Built to branch gh-pages at 2026-06-05 19:22 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@tsdamas tsdamas changed the title fix(ci): parsing ids to detox configuration file SDKS-5050: Release activities Jun 5, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
PingTestRunner/package.json (1)

24-24: 💤 Low value

Consider aligning Gradle task qualification across build scripts.

The build:bs:android script now uses fully-qualified task names (:app:assembleRelease :app:assembleAndroidTest), which is more explicit and safer in multi-project builds. However, the .detoxrc.js file's android.release build command (line 40) still uses unqualified task names (assembleRelease assembleAndroidTest).

While these serve different code paths (BrowserStack vs. local), the inconsistency could create maintenance confusion.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@PingTestRunner/package.json` at line 24, The android release build command is
inconsistent: package.json's "build:bs:android" uses fully-qualified Gradle
tasks while .detoxrc.js's android.release uses unqualified task names; update
the android.release build command in .detoxrc.js to use the fully-qualified
tasks (e.g., replace "assembleRelease assembleAndroidTest" with
":app:assembleRelease :app:assembleAndroidTest") so both build scripts use the
same explicit task qualification.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@PingTestRunner/package.json`:
- Line 24: The android release build command is inconsistent: package.json's
"build:bs:android" uses fully-qualified Gradle tasks while .detoxrc.js's
android.release uses unqualified task names; update the android.release build
command in .detoxrc.js to use the fully-qualified tasks (e.g., replace
"assembleRelease assembleAndroidTest" with ":app:assembleRelease
:app:assembleAndroidTest") so both build scripts use the same explicit task
qualification.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0a4487e1-002e-415b-9af7-d883813c10d9

📥 Commits

Reviewing files that changed from the base of the PR and between bcc0c08 and d3395ee.

⛔ Files ignored due to path filters (2)
  • .yarn/install-state.gz is excluded by !**/.yarn/**, !**/*.gz
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (4)
  • .github/workflows/browserstack-e2e-android.yml
  • PingTestRunner/android/app/build.gradle
  • PingTestRunner/android/settings.gradle
  • PingTestRunner/package.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/browserstack-e2e-android.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

wip Working in progress, do not review.

Development

Successfully merging this pull request may close these issues.

1 participant