[PR #6181] [MERGED] [PM-28504] Add testharness build workflow with dynamic versioning #54599

Closed
opened 2026-05-01 20:14:39 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6181
Author: @SaintPatrck
Created: 11/20/2025
Status: Merged
Merged: 12/9/2025
Merged by: @SaintPatrck

Base: mainHead: workflow/build-testharness


📝 Commits (7)

  • dabbe9c [PM-28504] Add testharness build workflow with dynamic versioning
  • dde9d7b Fix version extraction regex to exclude trailing quote
  • 26f6ec7 Update testharness to read version from libs.versions.toml
  • b8fe98e Align version extraction regex with Fastlane pattern
  • 30af6fa Update testharness build triggers and labeling configuration
  • e80a856 Update test harness APK filename generation and artifact paths
  • 12cecc5 Fix checksum filename for Test Harness APK

📊 Changes

3 files changed (+148 additions, -3 deletions)

View changed files

📝 .github/label-pr.json (+2 -1)
.github/workflows/build-testharness.yml (+134 -0)
📝 testharness/build.gradle.kts (+12 -2)

📄 Description

🎟️ Tracking

PM-28504

📔 Objective

Add GitHub Actions workflow for building the testharness module via manual workflow dispatch.

This PR introduces .github/workflows/build-testharness.yml to enable on-demand testharness APK builds through GitHub Actions, following the established patterns from the app and authenticator build workflows.

Key changes:

  • New workflow: build-testharness.yml with workflow_dispatch trigger for manual builds
  • Dynamic versioning: Integrates with _version.yml reusable workflow (codename: "bwth", base version: 0)
  • Fastlane integration: Uses setBuildVersionInfo for version management consistency
  • Build output: Generates com.bitwarden.testharness.dev-debug.apk with SHA256 checksum
  • Version configuration: Updated testharness/build.gradle.kts to read version from libs.versions.toml instead of hardcoded values

The workflow enables teams to build and distribute testharness artifacts for credential provider testing and validation without requiring local development environment setup.

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/6181 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 11/20/2025 **Status:** ✅ Merged **Merged:** 12/9/2025 **Merged by:** [@SaintPatrck](https://github.com/SaintPatrck) **Base:** `main` ← **Head:** `workflow/build-testharness` --- ### 📝 Commits (7) - [`dabbe9c`](https://github.com/bitwarden/android/commit/dabbe9cd3a099793ba6877002dd65fc073019f2f) [PM-28504] Add testharness build workflow with dynamic versioning - [`dde9d7b`](https://github.com/bitwarden/android/commit/dde9d7bd5af94d2deb9e2e0ad436c098947192d2) Fix version extraction regex to exclude trailing quote - [`26f6ec7`](https://github.com/bitwarden/android/commit/26f6ec7a64ae9687c3ab82d22f6a896dc5fcea9f) Update testharness to read version from libs.versions.toml - [`b8fe98e`](https://github.com/bitwarden/android/commit/b8fe98e142150c3fc11b63d9b2291c97ac1a16b8) Align version extraction regex with Fastlane pattern - [`30af6fa`](https://github.com/bitwarden/android/commit/30af6fa36b74bb6e9c112b0b175195964325e852) Update testharness build triggers and labeling configuration - [`e80a856`](https://github.com/bitwarden/android/commit/e80a856ef1fe63686570b1f48a6fccf73df4a1da) Update test harness APK filename generation and artifact paths - [`12cecc5`](https://github.com/bitwarden/android/commit/12cecc5b748089ca6375deb30bc4fe65aa8d84c4) Fix checksum filename for Test Harness APK ### 📊 Changes **3 files changed** (+148 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `.github/label-pr.json` (+2 -1) ➕ `.github/workflows/build-testharness.yml` (+134 -0) 📝 `testharness/build.gradle.kts` (+12 -2) </details> ### 📄 Description ## 🎟️ Tracking PM-28504 ## 📔 Objective Add GitHub Actions workflow for building the testharness module via manual workflow dispatch. This PR introduces `.github/workflows/build-testharness.yml` to enable on-demand testharness APK builds through GitHub Actions, following the established patterns from the app and authenticator build workflows. **Key changes:** - **New workflow**: `build-testharness.yml` with workflow_dispatch trigger for manual builds - **Dynamic versioning**: Integrates with `_version.yml` reusable workflow (codename: "bwth", base version: 0) - **Fastlane integration**: Uses `setBuildVersionInfo` for version management consistency - **Build output**: Generates `com.bitwarden.testharness.dev-debug.apk` with SHA256 checksum - **Version configuration**: Updated `testharness/build.gradle.kts` to read version from `libs.versions.toml` instead of hardcoded values The workflow enables teams to build and distribute testharness artifacts for credential provider testing and validation without requiring local development environment setup. ## ⏰ 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 2026-05-01 20:14:39 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#54599