You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 14, 2024. It is now read-only.
Goal β one button Xcode builds with Xcode Server Bots π€ or XCS.
The repo for ios-sdk-examples already has a CI solution. The goal with this issue is to document how to use Mapbox iOS Examples with Xcode Server Bots, to better understand the build, and to use the excellent reporting tools built into Xcode.
Advantages of XCS
The reporting from Xcode gives insight into the automated Tests & Code Coverage
Allows testing on many simulators and devices in my local setup
No extra dependency to install
the Mapbox team has done an excellent job over the years of adding features and tests. These notes may help others that are learning the code or want to use Mapbox APIs in their own repos. We use it in our lab, and we thought it were worthwhile to share out.
The Git branch and Xcode scheme you want to test is very important, so check out a local copy to your development folder. For example, set the branch you want and perform the initial step to make the Xcode Project.
From a fresh clone of the Mapbox project ios-sdk-examples
git clone \
https://github.com/mapbox/ios-sdk-examples.git \
tmp/ios-sdk-examples
cd tmp/ios-sdk-examples
# Initial steps to properly getting a local build working
pod --version
pod install --repo-update
xed Examples.xcworkspace
The call to xed will launch the Xcode application and opens the given documents. From man xed.
Change the Scheme to Examples.
On your development Mac, choose Product > Create Bot.
#!/bin/sh# Pre-Integration Script# environment# MARK: - Xcode Server Environment Variable Reference# https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/EnvironmentVariableReference.htmlecho XCS=${XCS}echo"XCS_BOT_NAME = ${XCS_BOT_NAME}"echo"XCS_INTEGRATION_NUMBER = ${XCS_INTEGRATION_NUMBER}"echo"XCS_PRIMARY_REPO_DIR = ${XCS_PRIMARY_REPO_DIR}"echo"XCS_SOURCE_DIR = ${XCS_SOURCE_DIR}"echo"XCS_DERIVED_DATA_DIR = ${XCS_DERIVED_DATA_DIR}"echo"XCS_PRIMARY_REPO_REVISION=${XCS_PRIMARY_REPO_REVISION}"# Only used when not checking out a branch or a tag.echo"XCS_PRIMARY_REPO_BRANCH = ${XCS_PRIMARY_REPO_BRANCH}"# Only used when checking out a branch.echo"XCS_PRIMARY_REPO_TAG = ${XCS_PRIMARY_REPO_TAG}"# Only used when checking out a tag.echo"XCS_OUTPUT_DIR = ${XCS_OUTPUT_DIR}"echo"XCS_BOT_ID = ${XCS_BOT_ID}"echo"XCS_BOT_TINY_ID = ${XCS_BOT_TINY_ID}"echo"http://Bots JSON = https://$(hostname):20343/api/bots"echo"http://bots/latest = https://$(hostname)/xcode/bots/latest"echo"http://latest this bot = https://$(hostname)/xcode/bots/latest/${XCS_BOT_TINY_ID}"echo"http://Integration JSON = https://$(hostname)/xcode/internal/api/integrations/${XCS_INTEGRATION_ID}"echo"http://Download = https://$(hostname)/xcode/internal/api/integrations/${XCS_INTEGRATION_ID}/assets"echo"xcbot://See Bot in Xcode = xcbot://$(hostname)/botID/${XCS_BOT_ID}/integrationID/${XCS_INTEGRATION_ID}"# MARK: - build environment
hostname
sw_vers
# Xcode version & path
/usr/bin/xcodebuild -version
/usr/bin/xcode-select -print-path
Pre-integration Script `mapbox` π
#!/bin/sh# Pre-Integration Script# Script: ios_sdk_examples_pod_install# MARK: - Update PATHecho$PATHexport PATH=/usr/local/bin:.:$PATHecho$PATH# set verboseset -v
cd${XCS_PRIMARY_REPO_DIR}pwd# MARK: - project specific build commands# WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.export LANG=en_US.UTF-8
# Versions of build dependencies
pod --version
# This version is heavy with pod
pod install --repo-update
waitecho xed ${XCS_PRIMARY_REPO_DIR}/Examples.xcworkspace
wait
Goal β one button Xcode builds with Xcode Server Bots π€ or
XCS
.The repo for
ios-sdk-examples
already has a CI solution. The goal with this issue is to document how to use Mapbox iOS Examples with Xcode Server Bots, to better understand the build, and to use the excellent reporting tools built into Xcode.Advantages of XCS
Related to mapbox/mapbox-gl-native-ios#493
How to
Notes excerpted from roblabs / xcode-continuous-integration which discusses a process to setup XCS for any Xcode project.
From a fresh
clone
of the Mapbox projectios-sdk-examples
xed
will launch the Xcode application and opens the given documents. Fromman xed
.Examples
.Product
>Create Bot
.environment
- Git repo metadata & Build versionsmapbox
- project specific build commandsPre-integration Script `environment` π
Pre-integration Script `mapbox` π
References:
The text was updated successfully, but these errors were encountered: