minitap-ai/minitest-trigger GitHub Action is the CI surface for miniTest. It authenticates via GitHub OIDC, uploads your build (or asks Mini to build one), and starts the run — fire and forget. Results come back via a GitHub Check Run on the commit.
For the workflow setup walkthrough, see Triggering a run → From CI.
Minimal usage
Prerequisites
The workflow must have theid-token: write permission for OIDC authentication:
MiniTest GitHub App must be installed on the org — see GitHub integration.
Inputs
Outputs
Build paths and requirements
If you don’t pass a build path, Mini builds your app for that platform on the triggering commit (using whatever’s configured in Providing app builds). If you pass a build path, the Action uploads that artifact instead of asking Mini to build.iOS
A typical
xcodebuild line for the simulator:
Android
.apk only, and it must contain native libraries for x86_64. The Action inspects the APK and fails with a clear error if only arm64-v8a or armeabi-v7a are present.
Configure app/build.gradle:
Web runs
run-ios, run-android, and the web inputs each select a lane. Lanes are additive: you can run just the web lane, just one native lane, or any mix. Web targets point at a URL instead of an uploaded artifact, with one exception: a web app linked to a GitHub repo builds and serves the commit this workflow runs on. See Building the commit.
There are two ways to include the web lane:
run-web: trueruns the app’s configured default web targets, set per app in the dashboard. This is the defaults marker: it expands to whatever browsers and viewports you set there. A repo-linked app runs them against the built commit; a URL-only app runs them against its configured web URL.web-targetsruns an explicit list instead. Each spec is<browser>:<viewport>, comma-separated. Settingweb-targetsincludes the web lane on its own.
run-web or web-targets, not both. One picks the app defaults, the other an explicit list.
A web app can be tested on a mobile device’s browser, so <browser>:<viewport> maps to a concrete target:
The Action parses
<browser>:<viewport> and the backend validates the combination.
Browser support is chrome and firefox for desktop, plus safari for iOS mobile-web. Desktop Safari (safari:desktop) is not a valid web target.
Each lane ignores nothing silently: web-url and web-targets apply only when the web lane is on, ios-build-path only when run-ios is on, android-build-path only when run-android is on. Passing a lane’s input while that lane is off is rejected, so a typo can’t quietly drop your build or URL.
Building the commit
If your web app is linked to a GitHub repo (set in App Settings),run-web: true builds your frontend at the commit this workflow runs on, serves it in the test environment, and runs your web stories against that build. No web-url is required. This holds even if the app also has a configured web URL: the linked-repo lane tests the commit, not the deployment. Supply web-url only when you want to test a separately-deployed URL (e.g. a PR preview) instead of the commit.
Per-run URL with web-url
The common CI case is testing a PR preview deployment. Set web-url to the deploy’s URL and it overrides the app’s configured web URL for that run:
Examples
Default — Mini builds for both platforms
iOS only
Android only, with your own build
Bring your own iOS build, let Mini build Android
Restrict to specific story types
Web app, configured defaults
Web app, explicit targets
Web app on mobile browsers
Multi-workspace setup
Cancelling previous runs
When you push repeatedly to the same release branch — reopening a release PR with a fix, for example — older runs that are still pending or running pile up. Withcancel-previous-runs: true (the default), the server cancels in-flight runs that match the same source branch before starting the new one.
Cancellation is scoped:
- Same source branch only — matched on the PR head branch (
pull_requestevents) or the branch ref forpush/workflow_dispatch/schedule/merge_group. - Release branches only — the branch must match one of the app’s configured release branch patterns (gitignore-style; configured per app in the dashboard).
- CI-triggered only — only runs started by this Action are cancelled. Dashboard, Slack, or CLI runs are untouched.
- Tag pushes (
refs/tags/*). - Branches that don’t match a configured release pattern.
- Events where the branch can’t be determined.
cancel-previous-runs: false.
How it works
- OIDC auth. The Action requests a GitHub OIDC token scoped to the Minitap API. Nothing to manage on your side.
- Validate builds. If you supplied any build paths, the Action checks the artifacts (simulator-only iOS, x86-64 Android).
- Upload builds. Anything you supplied is uploaded to miniTest.
.appbundles get packaged into.ipafirst. - Trigger the run. For any enabled platform without a supplied build, Mini builds the app for the triggering commit. This includes the web lane for a repo-linked web app: Mini builds and serves the commit unless you point
web-urlat a deployed URL. - Fire and forget. The Action exits immediately. Results come back via the GitHub Check Run on the commit.

