Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 19 additions & 20 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,24 @@ jobs:
uses: StanfordBDHG/.github/.github/workflows/periphery.yml@v2
permissions:
contents: read
# NOTE: CodeQL disabled until it supports the current Swift toolchain
# codeql_scc:
# name: CodeQL Spatial Continuity Camera
# uses: StanfordBDHG/.github/.github/workflows/xcodebuild-or-fastlane.yml@v2
# with:
# codeql: true
# fastlanelane: ios codeql_scc
# permissions:
# security-events: write
# actions: read
# codeql_sc:
# name: CodeQL Spatial Continuity
# uses: StanfordBDHG/.github/.github/workflows/xcodebuild-or-fastlane.yml@v2
# with:
# codeql: true
# fastlanelane: visionos codeql_sc
# permissions:
# security-events: write
# actions: read
codeql_sc:
name: CodeQL Spatial Continuity
uses: StanfordBDHG/.github/.github/workflows/xcodebuild-or-fastlane.yml@v2
with:
codeql: true
fastlanelane: ios codeql_sc
permissions:
security-events: write
actions: read
codeql_scc:
name: CodeQL Spatial Continuity Camera
uses: StanfordBDHG/.github/.github/workflows/xcodebuild-or-fastlane.yml@v2
with:
codeql: true
fastlanelane: ios codeql_scc
permissions:
security-events: write
actions: read
buildandtest_scc:
name: Build Spatial Continuity Camera (for Testing)
uses: StanfordBDHG/.github/.github/workflows/xcodebuild-or-fastlane.yml@v2
Expand All @@ -72,7 +71,7 @@ jobs:
# We use the self-hosted runners as the main GitHub Action runners do not have the necessary performance.
# Remove the `runsonlabels: '["macOS", "self-hosted"]'` lines if you do not administer your own GitHub Runners.
runsonlabels: '["macOS", "self-hosted"]'
fastlanelane: visionos test_vision_pro # ${{ matrix.platform }}
fastlanelane: ios test_vision_pro # ${{ matrix.platform }}
artifactname: ${{ matrix.platform }}.xcresult
# NOTE: Disabled since no tests are being run ATM
# uploadcoveragereport:
Expand Down
124 changes: 59 additions & 65 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
#
# SPDX-License-Identifier: MIT
#
default_platform(:ios)

platform :ios do
before_all do
ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "5"
Expand All @@ -13,6 +15,7 @@ platform :ios do

desc "Build and test"
lane :test do
test_vision_pro
test_iphone
end

Expand All @@ -21,11 +24,16 @@ platform :ios do
private_test_scc(devices: ["iPhone 15 Pro"], result: "iphone")
end

desc "Internal build and test lane for Spatial Continuity Camera"
private_lane :private_test_scc do |options|
desc "Build and test for Vision Pro"
lane :test_vision_pro do
private_test_sc(devices: ["Apple Vision Pro"], result: "vision_pro")
end

desc "Internal build and test lane for Spatial Continuity"
private_lane :private_test_sc do |options|
run_tests(
project: "SpatialContinuity.xcodeproj",
scheme: "SpatialContinuityCamera",
scheme: "SpatialContinuity",
skip_build: true,
derived_data_path: ".derivedData",
xcargs: [
Expand All @@ -47,71 +55,12 @@ platform :ios do
)
end

desc "CodeQL Spatial Continuity Camera"
lane :codeql_scc do
build_app(
project: "SpatialContinuity.xcodeproj",
scheme: "SpatialContinuityCamera",
skip_archive: true,
skip_codesigning: true,
derived_data_path: ".derivedData",
xcargs: [
"-skipPackagePluginValidation",
"-skipMacroValidation"
]
)
end

desc "Build app"
lane :build_scc do
build_app(
project: "SpatialContinuity.xcodeproj",
scheme: "SpatialContinuityCamera",
derived_data_path: ".derivedData",
xcargs: [
"-skipPackagePluginValidation",
"-skipMacroValidation"
],
destination: "generic/platform=iOS",
output_directory: ".build",
archive_path: ".build/SpatialContinuityCamera.xcarchive",
)
# This is an unfortunate workaround for a bug in fastlane: https://github.com/fastlane/fastlane/pull/21319
Dir.chdir("..") do
sh(
"
xcodebuild \
-exportArchive \
-exportOptionsPlist ./fastlane/ExportOptions.plist \
-archivePath ./.build/SpatialContinuityCamera.xcarchive \
-exportPath ./.build
"
)
end
end
end

platform :visionos do
before_all do
ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "5"
ENV["FASTLANE_XCODEBUILD_SETTINGS_RETRIES"] = "6"
end

desc "Build and test"
lane :test do
test_vision_pro
end

desc "Build and test for Vision Pro"
lane :test_vision_pro do
private_test_sc(devices: ["Apple Vision Pro"], result: "vision_pro")
end

desc "Internal build and test lane for Spatial Continuity"
private_lane :private_test_sc do |options|
desc "Internal build and test lane for Spatial Continuity Camera"
private_lane :private_test_scc do |options|
run_tests(
project: "SpatialContinuity.xcodeproj",
scheme: "SpatialContinuity",
scheme: "SpatialContinuityCamera",
skip_build: true,
derived_data_path: ".derivedData",
xcargs: [
Expand Down Expand Up @@ -141,6 +90,23 @@ platform :visionos do
skip_archive: true,
skip_codesigning: true,
derived_data_path: ".derivedData",
destination: "generic/platform=visionOS",
xcargs: [
"-skipPackagePluginValidation",
"-skipMacroValidation"
]
)
end

desc "CodeQL Spatial Continuity Camera"
lane :codeql_scc do
build_app(
project: "SpatialContinuity.xcodeproj",
scheme: "SpatialContinuityCamera",
skip_archive: true,
skip_codesigning: true,
derived_data_path: ".derivedData",
destination: "generic/platform=iOS",
xcargs: [
"-skipPackagePluginValidation",
"-skipMacroValidation"
Expand Down Expand Up @@ -175,4 +141,32 @@ platform :visionos do
)
end
end

desc "Build Spatial Continuity Camera"
lane :build_scc do
build_app(
project: "SpatialContinuity.xcodeproj",
scheme: "SpatialContinuityCamera",
derived_data_path: ".derivedData",
xcargs: [
"-skipPackagePluginValidation",
"-skipMacroValidation"
],
destination: "generic/platform=iOS",
output_directory: ".build",
archive_path: ".build/SpatialContinuityCamera.xcarchive",
)
# This is an unfortunate workaround for a bug in fastlane: https://github.com/fastlane/fastlane/pull/21319
Dir.chdir("..") do
sh(
"
xcodebuild \
-exportArchive \
-exportOptionsPlist ./fastlane/ExportOptions.plist \
-archivePath ./.build/SpatialContinuityCamera.xcarchive \
-exportPath ./.build
"
)
end
end
end
Loading