Skip to content

v3.13.1

Choose a tag to compare

@Badlazzor Badlazzor released this 25 Sep 11:49
· 54 commits to main since this release
fc430b8

What's Changed

Bitrise Remote Dev Environment sessions no longer report as Bitrise CI

Bazel, Gradle and Xcode invocations from Bitrise RDE (Remote Dev Environment) sessions used to be tagged with CI Provider = Bitrise CI in analytics because RDE macOS VMs inherit BITRISE_IO=true from /etc/profile, and a leaked BITRISE_BUILD_SLUG (from a shell RC, a wrapper script, or --action_env in bazelrc) was enough to trip the CI branch.

The CLI now detects RDE VMs via their vm-standalone-{linux,macos}-<uuid> hostname (set by the RDE bootstrap) and treats those sessions as local — the same as any other developer laptop. This affects analytics categorization, the auth-store selection (keychain vs. file), benchmark-phase gating and the version-check nudge.

Regular Bitrise CI VMs share the same underlying den infrastructure and also export BITRISE_DEN_VM_NAME, so only the hostname prefix distinguishes RDE from real CI.

Under the hood

utils.OsProxy is now threaded through DetectCIProvider, IsCI and NewMetadata instead of being reached via package-level globals — tests get a clean OsProxyMock.HostnameFunc seam and there is no shared mutable state to serialize.

Full Changelog: v3.13.0...v3.13.1

Changelog

  • fc430b8 fix: treat RDE sessions as local, not Bitrise CI (#561)

Gradle verification

For reference, the verification metadata is available as an attached assset.