[PR #5526] [QA-1126] Adding sanity check against real devices for Prod builds #5842

Open
opened 2025-11-27 00:15:21 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/5526
Author: @ifernandezdiaz
Created: 7/14/2025
Status: 🔄 Open

Base: mainHead: QA-1126b/adding-native-sanity-test


📝 Commits (10+)

  • 815c739 Creating base e2e test for Real Device validations
  • ed5b752 Creating base e2e test for Real Device validations
  • 5b012e1 Implementing page object pattern
  • a6ef2ea Using Compose Testing + Espresso
  • 047b762 Merge branch 'main' into QA-1126b/adding-native-sanity-test
  • 2af019e Updating code to read credentials from an external json file
  • 6181378 Adding missing steps to test-device workflow
  • 772245c Merge branch 'main' into QA-1126b/adding-native-sanity-test
  • a2ed706 Adding missing steps to retrieve secrets from Azure
  • 2856545 Enabling release test build type

📊 Changes

22 files changed (+639 additions, -8 deletions)

View changed files

📝 .github/workflows/build.yml (+63 -1)
📝 .github/workflows/test-device.yml (+79 -5)
.sauce/config.yml (+32 -0)
📝 README.md (+21 -0)
📝 app/build.gradle.kts (+12 -1)
📝 app/proguard-rules.pro (+20 -0)
app/src/androidTest/assets/TestData.json (+5 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/data/TestData.kt (+10 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/data/TestDataReader.kt (+18 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/Page.kt (+122 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/login/EnvironmentSettingsPage.kt (+20 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/login/LoginPage.kt (+60 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/login/MainPage.kt (+16 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/settings/SettingsPage.kt (+20 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/settings/accountSecurity/AccountSecurityPage.kt (+27 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/vault/UnlockVaultPage.kt (+25 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/vault/VaultPage.kt (+22 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/tests/BaseE2eTest.kt (+20 -0)
app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/tests/RealDeviceE2eTests.kt (+26 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt (+2 -1)

...and 2 more files

📄 Description

🎟️ Tracking

📔 Objective

This PR streamlines and enhances our CI/CD pipeline by allowing the execution of sanity checks on real devices in our main build workflow.
It includes all necessary setup, secret retrieval, and artifact management to support E2E testing against real devices using SauceLabs.

📸 Screenshots

Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/5526 **Author:** [@ifernandezdiaz](https://github.com/ifernandezdiaz) **Created:** 7/14/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `QA-1126b/adding-native-sanity-test` --- ### 📝 Commits (10+) - [`815c739`](https://github.com/bitwarden/android/commit/815c73944f02d14bd9689325ad243f491d2fc526) Creating base e2e test for Real Device validations - [`ed5b752`](https://github.com/bitwarden/android/commit/ed5b752717a4caa55873ad30b2e6760944764742) Creating base e2e test for Real Device validations - [`5b012e1`](https://github.com/bitwarden/android/commit/5b012e1d2318da210f8054be721111db28e076a6) Implementing page object pattern - [`a6ef2ea`](https://github.com/bitwarden/android/commit/a6ef2ea78dd19df746a54d66c36315546d8b6e43) Using Compose Testing + Espresso - [`047b762`](https://github.com/bitwarden/android/commit/047b7629120c37f852027fb0fddb7d120678efde) Merge branch 'main' into QA-1126b/adding-native-sanity-test - [`2af019e`](https://github.com/bitwarden/android/commit/2af019e555092a5c1f74e53837a1dea573cf6cb3) Updating code to read credentials from an external json file - [`6181378`](https://github.com/bitwarden/android/commit/6181378f2844a5dd95a3ee51c696ce69521b91cd) Adding missing steps to test-device workflow - [`772245c`](https://github.com/bitwarden/android/commit/772245cfc5a63c0a12d8c9c9566a028bca52f72d) Merge branch 'main' into QA-1126b/adding-native-sanity-test - [`a2ed706`](https://github.com/bitwarden/android/commit/a2ed70662548fbfd580a0ec198285b5b1a8ab41e) Adding missing steps to retrieve secrets from Azure - [`2856545`](https://github.com/bitwarden/android/commit/285654588895408333263abf747e52f195c4683b) Enabling release test build type ### 📊 Changes **22 files changed** (+639 additions, -8 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build.yml` (+63 -1) 📝 `.github/workflows/test-device.yml` (+79 -5) ➕ `.sauce/config.yml` (+32 -0) 📝 `README.md` (+21 -0) 📝 `app/build.gradle.kts` (+12 -1) 📝 `app/proguard-rules.pro` (+20 -0) ➕ `app/src/androidTest/assets/TestData.json` (+5 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/data/TestData.kt` (+10 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/data/TestDataReader.kt` (+18 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/Page.kt` (+122 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/login/EnvironmentSettingsPage.kt` (+20 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/login/LoginPage.kt` (+60 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/login/MainPage.kt` (+16 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/settings/SettingsPage.kt` (+20 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/settings/accountSecurity/AccountSecurityPage.kt` (+27 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/vault/UnlockVaultPage.kt` (+25 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/pageObjects/vault/VaultPage.kt` (+22 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/tests/BaseE2eTest.kt` (+20 -0) ➕ `app/src/androidTest/kotlin/com/x8bit/bitwarden/e2e/tests/RealDeviceE2eTests.kt` (+26 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt` (+2 -1) _...and 2 more files_ </details> ### 📄 Description ## 🎟️ Tracking <!-- Paste the link to the Jira or GitHub issue or otherwise describe / point to where this change is coming from. --> ## 📔 Objective This PR streamlines and enhances our CI/CD pipeline by allowing the execution of sanity checks on real devices in our main build workflow. It includes all necessary setup, secret retrieval, and artifact management to support E2E testing against real devices using SauceLabs. ## 📸 Screenshots <!-- Required for any UI changes; delete if not applicable. Use fixed width images for better display. --> ## ⏰ Reminders before review - Contributor guidelines followed - All formatters and local linters executed and passed - Written new unit and / or integration tests where applicable - Protected functional changes with optionality (feature flags) - Used internationalization (i18n) for all UI strings - CI builds passed - Communicated to DevOps any deployment requirements - Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team ## 🦮 Reviewer guidelines <!-- Suggested interactions but feel free to use (or not) as you desire! --> - 👍 (`:+1:`) or similar for great changes - 📝 (`:memo:`) or ℹ️ (`:information_source:`) for notes or general info - ❓ (`:question:`) for questions - 🤔 (`:thinking:`) or 💭 (`:thought_balloon:`) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion - 🎨 (`:art:`) for suggestions / improvements - ❌ (`:x:`) or ⚠️ (`:warning:`) for more significant problems or concerns needing attention - 🌱 (`:seedling:`) or ♻️ (`:recycle:`) for future improvements or indications of technical debt - ⛏ (`:pick:`) for minor or nitpick changes --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-27 00:15:21 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#5842