Files
TrustTunnel/fastlane
Ilia Zhirov 4b9aa62600 Pull request 185: TRUST-428 add binary build universal for macos
Squashed commit of the following:

commit 01359b7031
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Mon Mar 23 21:26:58 2026 +0500

    Update prebuilt-arch list in README.md

commit 2dd63cb81a
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Tue Mar 17 13:49:28 2026 +0500

    More unification with client build

commit 6fb885198d
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Tue Mar 17 13:47:24 2026 +0500

    Add Gemfile.lock

commit 62a2ee7feb
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 21:00:15 2026 +0500

    More unification with trusttunnel-client deployment plan

commit e60ac36d5a
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 20:49:06 2026 +0500

    Remove REPO_ROOT variable

commit 145949a852
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 20:42:16 2026 +0500

    Unify codesign approach with trusttunnel-client

commit 38baac17fe
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 18:26:00 2026 +0500

    Use separate macOS notarization identifier for setup_wizard

commit 296e7ea9ab
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 18:17:57 2026 +0500

    Integrate fastlane-based macOS signing into Bamboo deploy pipeline

commit e2c3bede74
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 18:12:26 2026 +0500

    Add supporting fastlane files for macOS release signing

commit 8e2bc2e87d
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 18:06:28 2026 +0500

    Add fastlane automation for macOS endpoint release signing

commit af89eef0f3
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 17:40:06 2026 +0500

    Add macOS dSYM artifacts to Bamboo deploy pipeline

commit 21cd7d99d7
Author: Ilia Zhirov <i.zhirov@adguard.com>
Date:   Fri Mar 13 17:30:24 2026 +0500

    Add universal macOS release artifact to Bamboo deploy pipeline
2026-03-25 11:45:50 +00:00
..

fastlane for vpn-libs-endpoint

Purpose

This directory contains the fastlane automation used for macOS release signing and notarization of:

  • trusttunnel_endpoint
  • setup_wizard

The flow was adapted from trusttunnel-client to fit the Cargo-based endpoint repository.

Prerequisites

Make sure the macOS build environment provides:

  • Xcode command line tools
  • Ruby with Bundler support
  • access to the signing certificate repository used by match
  • App Store Connect API credentials via Bamboo environment variables

If Xcode command line tools are missing, install them with:

xcode-select --install

Install Ruby dependencies with:

bundle config --local path '.bundle/vendor'
bundle install

Environment

Example defaults are provided in .env.default.

Important environment variables include:

  • BUILD_DIR
  • MATCH_GIT_URL
  • MATCH_PASSWORD
  • MATCH_KEYCHAIN_PASSWORD
  • MATCH_KEYCHAIN_NAME
  • MATCH_APP_IDENTIFIER
  • bamboo_appStoreConnectApiKeyId
  • bamboo_appStoreConnectApiKeyIssuerId
  • bamboo_appStoreConnectApiKeyBase64Password

Available lanes

certs

[bundle exec] fastlane certs

Syncs the Developer ID signing identity required for macOS release signing.

remove_certs

[bundle exec] fastlane remove_certs

Removes the temporary local keychain created for signing.

notari

[bundle exec] fastlane notari id:"<bundle_id>" bundle:"<path_to_binary>"

Notarizes the specified binary using the default App Store Connect credentials.

Required options:

  • id: bundle identifier used for notarization
  • bundle: path to the signed binary

Notes

  • Executables are compressed into a temporary archive before notarization.
  • Stapling is intentionally skipped for executables.
  • This directory is maintained manually for the endpoint repository and is not auto-generated.