Repository navigation
Implement trustkit android release GitHub actions - #118
Merged
alexanderdibenedetto merged 5 commits intoNov 5, 2026
Merged
alexanderdibenedetto merged 5 commits into
alexanderdibenedetto merged 5 commits into
Conversation
added 4 commits
November 2, 2026 14:00
CI now runs on every pull request: lint first, then unit tests, the release bundle, demo apps and instrumentation tests in parallel. A published GitHub release attaches the signed bundle zip and uploads the same zip to Maven Central. Build and release logic lives in scripts/, and publishing config moves into trustkit/build.gradle.
Replace facebook, microsoft and google hosts with yahoo.com and datatheorem.com equivalents. Stop re-running CI at release time, and replace the dead Bintray badge with a Maven Central badge.
alexanderdibenedetto
marked this pull request as ready for review
November 2, 2026 23:42
marcantoineg
previously approved these changes
Nov 3, 2026
- Read the tag from release.tag_name and use one concurrency group per tag - Print the bundle contents from zip instead of a second listing - List Data Theorem Support as the POM developer - Document the localbroadcastmanager dependency for report receivers
alexanderdibenedetto
requested review from
marcantoineg and
nathan-l
and
a balanced review from Copilot
November 4, 2026 17:06
There was a problem hiding this comment.
🔵 Needs a closer look
Maintainer validation of real PGP signing and Central Portal acceptance is still needed before the first irreversible release because CI covers only unsigned bundles and mocked API interactions.
No open issues 🎉
What changed in this PR
Automates TrustKit Android 1.2.0 releases to Maven Central through GitHub Releases, consolidates publishing configuration, and reorganizes CI.
Changes:
- Adds version verification, signed Maven bundle creation, release attachment, and Maven Central publishing.
- Runs lint first, then tests, release-bundle builds, and demo builds in parallel using shared setup.
- Refreshes instrumentation-test hosts and pins, bumps the library version, and documents release steps.
| File | Description |
|---|---|
trustkit/src/androidTest/res/xml/network_security_config.xml |
Updates test domains and certificate pins. |
trustkit/src/androidTest/java/com/datatheorem/android/trustkit/reporting/BackgroundReporterTest.java |
Switches reporting-test hostnames to Yahoo. |
trustkit/src/androidTest/java/com/datatheorem/android/trustkit/reporting/BackgroundReporterTaskTest.java |
Moves failing test endpoints to Data Theorem. |
trustkit/src/androidTest/java/com/datatheorem/android/trustkit/pinning/SSLSocketFactoryTest.java |
Aligns socket tests with updated hosts and intermediate pinning. |
trustkit/build.gradle |
Configures Maven publication, documentation artifacts, and environment-based signing. |
scripts/verify_release_version.sh |
Checks tag consistency and whether the version already exists on Maven Central. |
scripts/test_publish_maven_central.sh |
Tests publishing outcomes and credential handling with a fake HTTP client. |
scripts/publish_maven_central.sh |
Uploads signed bundles and polls deployment status. |
scripts/lib.sh |
Provides shared shell settings, error handling, and version lookup. |
scripts/enable_kvm.sh |
Extracts emulator hardware-acceleration setup. |
scripts/build_release_bundle.sh |
Builds and archives the versioned Maven repository. |
README.md |
Documents releases and the optional broadcast dependency; updates the Maven badge. |
gradle/libs.versions.toml |
Sets version 1.2.0 and increments the version code. |
deploymentScripts/publish-mavencentral.gradle |
Removes the legacy publishing configuration. |
.gitignore |
Excludes generated release output. |
.github/workflows/release.yml |
Adds release verification, bundle attachment, and publishing jobs. |
.github/workflows/ci.yml |
Expands PR coverage and separates lint-dependent build and test jobs. |
.github/actions/setup/action.yml |
Centralizes JDK and Gradle setup. |
Review effort: Balanced
marcantoineg
approved these changes
Nov 4, 2026
EthanArbuckle
approved these changes
Nov 4, 2026
alexanderdibenedetto
deleted the
mts1-542-implement-trustkit-android-release-github-actions
branch
November 5, 2026 17:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release TrustKit 1.2.0 to Maven Central from GitHub releases
Publishing a GitHub release now verifies the version, builds a signed Maven bundle (AAR, POM, module metadata, sources, javadoc, checksums, signatures), attaches it to the release, and publishes it to Maven Central.
scripts/. Publishing config moved intotrustkit/build.gradle.Before the first release: create a
maven-centralenvironment withMAVEN_CENTRAL_USERNAME,MAVEN_CENTRAL_PASSWORD,SIGNING_KEYandSIGNING_KEY_PASSWORD, and publish the signing key's public half to a keyserver.