Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3df8fb8
feat: install react-native-owl
OtavioStasiak Jun 9, 2026
855d8c1
fix: blank space on actionSheet
OtavioStasiak Jun 9, 2026
f55ea6c
feat: visual regression test start
OtavioStasiak Jun 9, 2026
28c992d
feat: visual regression run/compare + e2e-style CI flow
OtavioStasiak Jun 11, 2026
8f8d4ff
Merge branch 'develop' into fix/actionsheet-safe-area-spacing
OtavioStasiak Jun 11, 2026
c2deb72
ci: gate visual regression behind manual approval hold
OtavioStasiak Jun 11, 2026
ebab06a
ci: fix visual regression android build + ios simulator boot
OtavioStasiak Jun 11, 2026
f66caab
ci: emit clean baseline-only artifact for owl update runs
OtavioStasiak Jun 12, 2026
3298251
ci: harden owl renders for deterministic baselines
OtavioStasiak Jun 12, 2026
039c25f
ci: mask OS status bar in owl diffs so baselines verify the app
OtavioStasiak Jun 15, 2026
b54b6f7
Merge branch 'develop' into fix/actionsheet-safe-area-spacing
OtavioStasiak Jun 15, 2026
f5d4590
fix: blank space on actionSheet
OtavioStasiak Jun 15, 2026
6e99aa2
test: guard action-sheet bottom safe-area spacing
OtavioStasiak Jun 15, 2026
c1399c5
test: also guard paddingBottom in action-sheet spacing tests
OtavioStasiak Jun 16, 2026
6544e0b
Merge branch 'develop' into fix/actionsheet-safe-area-spacing
OtavioStasiak Jun 16, 2026
d7adf67
fix: ServersList Add Server button clipped in landscape
OtavioStasiak Jun 16, 2026
cbd23fa
test: lock UserNotificationPreferences sheet paddingBottom contract
OtavioStasiak Jun 16, 2026
e6c40e2
fix: listPicker
OtavioStasiak Jun 16, 2026
b63cdf2
fix: tests
OtavioStasiak Jun 16, 2026
bebcbc7
fix: android specific padding issues
OtavioStasiak Jun 18, 2026
1c4c531
fix: action sheet last row clipped behind Android nav bar
OtavioStasiak Jun 19, 2026
df87d03
feat: improve e2e tests
OtavioStasiak Jun 19, 2026
1559d51
Merge branch 'develop' into fix/actionsheet-safe-area-spacing
OtavioStasiak Jun 19, 2026
e77c60f
refactor: dedupe action sheet max-height fraction in servers list
OtavioStasiak Jun 22, 2026
153eac9
refactor: simplify getActionSheetBottomInset to take bottom inset dir…
OtavioStasiak Jun 22, 2026
8481335
fix: use nullish coalescing for action sheet content padding
OtavioStasiak Jun 22, 2026
c879f00
refactor: drop initialWindowMetrics workaround from action sheet bott…
OtavioStasiak Jun 23, 2026
a96ce16
Merge branch 'develop' into fix/actionsheet-safe-area-spacing
OtavioStasiak Jun 23, 2026
6e5ca3f
Merge branch 'develop' into fix/actionsheet-safe-area-spacing
OtavioStasiak Jun 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
ci: gate visual regression behind manual approval hold
Mirror e2e's e2e-hold: a `hold` job on the protected `approve_e2e_testing`
environment that build-ios and build-android depend on, so the macOS + emulator
legs only run after a reviewer approves.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
  • Loading branch information
OtavioStasiak and claude committed Jun 11, 2026
commit c2deb72078ce4ad40fe81d1de439ab69c4bda0d0
13 changes: 13 additions & 0 deletions .github/workflows/visual-regression.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,21 @@ concurrency:
cancel-in-progress: true

jobs:
# Manual approval gate, mirroring e2e's e2e-hold: nothing builds or runs until
# a reviewer approves the protected environment. Keeps the expensive macOS +
# emulator legs off every push.
hold:
name: Visual Regression Hold
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
environment: approve_e2e_testing
runs-on: ubuntu-latest
steps:
- run: echo "Waiting for manual approval..."

build-ios:
name: Build iOS
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
needs: [hold]
uses: ./.github/workflows/visual-regression-build-ios.yml

run-ios:
Expand All @@ -58,6 +70,7 @@ jobs:
build-android:
name: Build Android
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
needs: [hold]
uses: ./.github/workflows/visual-regression-build-android.yml

run-android:
Expand Down
2 changes: 1 addition & 1 deletion tests/owl/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ out over every device leg.

| Workflow | Role |
| --- | --- |
| `visual-regression.yml` | Orchestrator. `workflow_dispatch` (with an `update_baseline` toggle) + `pull_request` on owl paths. |
| `visual-regression.yml` | Orchestrator. `workflow_dispatch` (with an `update_baseline` toggle) + `pull_request` on owl paths. Gated behind a manual approval `hold` job (protected `approve_e2e_testing` environment, like e2e) so nothing builds until a reviewer approves. |
| `visual-regression-build-ios.yml` | Reusable — builds the Owl iOS `.app` once, uploads it. |
| `visual-regression-build-android.yml` | Reusable — builds the Owl APK once (debug-signed via the `isOwlBuild` fallback), uploads it. |
| `visual-regression-run-ios.yml` | Reusable — downloads the app, points owl at the leg's simulator, syncs baselines, compares. |
Expand Down
Loading