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
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Set update schedule for GitHub Actions

version: 2
updates:

- package-ecosystem: "github-actions"
# Checks for workflow files in .github/workflows
directory: "/"
schedule:
interval: "daily"
7 changes: 2 additions & 5 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,14 @@ on:
jobs:
build-and-test:
name: "CI"
uses: adobe/aepsdk-commons/.github/workflows/ios-build-and-test.yml@gha-ios-5.2.0
uses: adobe/aepsdk-commons/.github/workflows/ios-build-and-test.yml@gha-ios-5.3.0
with:
ios-device-names: '["iPhone 15"]'
ios-versions: '["18.1"]'
tvos-device-names: '["Apple TV"]'
tvos-versions: '["18.1"]'
run-test-ios-unit: true
run-test-ios-functional: true
run-test-ios-integration: true
run-test-tvos-unit: true
run-test-tvos-functional: true
run-build-xcframework-and-app: true
enable-codecov: true
result-bundle-path: build/reports
secrets: inherit
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
release:
permissions:
contents: write
uses: adobe/aepsdk-commons/.github/workflows/ios-release.yml@gha-ios-5.2.0
uses: adobe/aepsdk-commons/.github/workflows/ios-release.yml@gha-ios-5.3.0
with:
tag: ${{ github.event.inputs.tag }}
create-github-release: ${{ github.event.inputs.create-github-release == 'true' && 'AEPEdge' || '' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
permissions:
contents: write
pull-requests: write
uses: adobe/aepsdk-commons/.github/workflows/versions.yml@gha-ios-5.2.0
uses: adobe/aepsdk-commons/.github/workflows/versions.yml@gha-ios-5.3.0
with:
version: ${{ github.event.inputs.version }}
branch: ${{ github.event.inputs.branch }}
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/upstream-integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,9 @@ run-name: ${{ inputs.id }}
jobs:
test-ios-integration:
name: Integration Test (iOS)
uses: adobe/aepsdk-commons/.github/workflows/ios-custom-command-build-and-test.yml@gha-ios-5.2.0
uses: adobe/aepsdk-commons/.github/workflows/ios-custom-command-build-and-test.yml@gha-ios-5.3.0
with:
ios-device-names: ${{ inputs.ios-device-names }}
ios-versions: ${{ inputs.ios-versions }}
command: make integration-test-ios TAGS_MOBILE_PROPERTY_ID=${{ github.event.inputs.tags-mobile-property-id }} EDGE_LOCATION_HINT=${{ github.event.inputs.edge-location-hint }}
enable-codecov: false
secrets: inherit
70 changes: 48 additions & 22 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,27 @@ GEM
base64
nkf
rexml
activesupport (7.1.3.2)
activesupport (7.2.2.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
base64 (0.2.0)
bigdecimal (3.1.7)
benchmark (0.4.0)
bigdecimal (3.1.9)
claide (1.1.0)
cocoapods (1.14.3)
addressable (~> 2.8)
Expand Down Expand Up @@ -62,47 +65,70 @@ GEM
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.2.3)
connection_pool (2.4.1)
concurrent-ruby (1.3.5)
connection_pool (2.5.0)
drb (2.2.1)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
ffi (1.16.3)
ffi (1.17.1)
ffi (1.17.1-aarch64-linux-gnu)
ffi (1.17.1-aarch64-linux-musl)
ffi (1.17.1-arm-linux-gnu)
ffi (1.17.1-arm-linux-musl)
ffi (1.17.1-arm64-darwin)
ffi (1.17.1-x86-linux-gnu)
ffi (1.17.1-x86-linux-musl)
ffi (1.17.1-x86_64-darwin)
ffi (1.17.1-x86_64-linux-gnu)
ffi (1.17.1-x86_64-linux-musl)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.14.4)
httpclient (2.9.0)
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
json (2.7.1)
minitest (5.22.3)
json (2.10.1)
logger (1.6.6)
minitest (5.25.4)
molinillo (0.8.0)
mutex_m (0.2.0)
nanaimo (0.3.0)
mutex_m (0.3.0)
nanaimo (0.4.0)
nap (1.1.0)
netrc (0.11.0)
nkf (0.2.0)
public_suffix (4.0.7)
rexml (3.2.6)
rexml (3.4.1)
ruby-macho (2.5.1)
securerandom (0.4.1)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xcodeproj (1.24.0)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)

PLATFORMS
arm64-darwin-23
aarch64-linux-gnu
aarch64-linux-musl
arm-linux-gnu
arm-linux-musl
arm64-darwin
ruby
x86-linux-gnu
x86-linux-musl
x86_64-darwin
x86_64-linux-gnu
x86_64-linux-musl

DEPENDENCIES
cocoapods (= 1.14.3)

BUNDLED WITH
2.4.10
2.5.23
53 changes: 16 additions & 37 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ TVOS_SIMULATOR_ARCHIVE_DSYM_PATH = $(CURR_DIR)/build/tvos_simulator.xcarchive/dS
TVOS_ARCHIVE_PATH = $(CURR_DIR)/build/tvos.xcarchive/Products/Library/Frameworks/
TVOS_ARCHIVE_DSYM_PATH = $(CURR_DIR)/build/tvos.xcarchive/dSYMs/

# Values with defaults
# CI variables - using values with defaults. Set defaults to values that are most useful for local development.
IOS_DEVICE_NAME ?= iPhone 15
# If OS version is not specified, uses the first device name match in the list of available simulators
IOS_VERSION ?=
Expand All @@ -33,29 +33,6 @@ else
TVOS_DESTINATION = "platform=tvOS Simulator,name=$(TVOS_DEVICE_NAME),OS=$(TVOS_VERSION)"
endif

clean-derived-data:
@if [ -z "$(SCHEME)" ]; then \
echo "Error: SCHEME variable is not set."; \
exit 1; \
fi; \
if [ -z "$(DESTINATION)" ]; then \
echo "Error: DESTINATION variable is not set."; \
exit 1; \
fi; \
echo "Cleaning derived data for scheme: $(SCHEME) with destination: $(DESTINATION)"; \
DERIVED_DATA_PATH=`xcodebuild -workspace $(PROJECT_NAME).xcworkspace -scheme "$(SCHEME)" -destination "$(DESTINATION)" -showBuildSettings | grep -m1 'BUILD_DIR' | awk '{print $$3}' | sed 's|/Build/Products||'`; \
echo "DerivedData Path: $$DERIVED_DATA_PATH"; \
\
LOGS_TEST_DIR=$$DERIVED_DATA_PATH/Logs/Test; \
echo "Logs Test Path: $$LOGS_TEST_DIR"; \
\
if [ -d "$$LOGS_TEST_DIR" ]; then \
echo "Removing existing .xcresult files in $$LOGS_TEST_DIR"; \
rm -rf "$$LOGS_TEST_DIR"/*.xcresult; \
else \
echo "Logs/Test directory does not exist. Skipping cleanup."; \
fi;

setup-tools: install-githook

setup:
Expand Down Expand Up @@ -102,15 +79,15 @@ build-ios:
@echo "######################################################################"
@echo "### Building iOS archive"
@echo "######################################################################"
xcodebuild archive -workspace $(PROJECT_NAME).xcworkspace -scheme $(SCHEME_NAME_XCFRAMEWORK) -archivePath "./build/ios.xcarchive" -sdk iphoneos -destination="iOS" SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES ADB_SKIP_LINT=YES
xcodebuild archive -workspace $(PROJECT_NAME).xcworkspace -scheme $(SCHEME_NAME_XCFRAMEWORK) -archivePath "./build/ios_simulator.xcarchive" -sdk iphonesimulator -destination="iOS Simulator" SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES ADB_SKIP_LINT=YES
xcodebuild archive -workspace $(PROJECT_NAME).xcworkspace -scheme $(SCHEME_NAME_XCFRAMEWORK) -archivePath "./build/ios.xcarchive" -sdk iphoneos -destination="iOS" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES ADB_SKIP_LINT=YES
xcodebuild archive -workspace $(PROJECT_NAME).xcworkspace -scheme $(SCHEME_NAME_XCFRAMEWORK) -archivePath "./build/ios_simulator.xcarchive" -sdk iphonesimulator -destination="iOS Simulator" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES ADB_SKIP_LINT=YES

build-tvos:
@echo "######################################################################"
@echo "### Building tvOS archive"
@echo "######################################################################"
xcodebuild archive -workspace $(PROJECT_NAME).xcworkspace -scheme $(SCHEME_NAME_XCFRAMEWORK) -archivePath "./build/tvos.xcarchive" -sdk appletvos -destination="tvOS" SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES ADB_SKIP_LINT=YES
xcodebuild archive -workspace $(PROJECT_NAME).xcworkspace -scheme $(SCHEME_NAME_XCFRAMEWORK) -archivePath "./build/tvos_simulator.xcarchive" -sdk appletvsimulator -destination="tvOS Simulator" SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES ADB_SKIP_LINT=YES
xcodebuild archive -workspace $(PROJECT_NAME).xcworkspace -scheme $(SCHEME_NAME_XCFRAMEWORK) -archivePath "./build/tvos.xcarchive" -sdk appletvos -destination="tvOS" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES ADB_SKIP_LINT=YES
xcodebuild archive -workspace $(PROJECT_NAME).xcworkspace -scheme $(SCHEME_NAME_XCFRAMEWORK) -archivePath "./build/tvos_simulator.xcarchive" -sdk appletvsimulator -destination="tvOS Simulator" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES ADB_SKIP_LINT=YES

zip:
cd build && zip -r -X $(PROJECT_NAME).xcframework.zip $(PROJECT_NAME).xcframework/
Expand All @@ -133,30 +110,31 @@ unit-test-ios:
@echo "######################################################################"
@echo "### Unit Testing iOS"
@echo "######################################################################"
@$(MAKE) clean-derived-data SCHEME=UnitTests DESTINATION=$(IOS_DESTINATION)
xcodebuild test -workspace $(PROJECT_NAME).xcworkspace -scheme "UnitTests" -destination $(IOS_DESTINATION) -enableCodeCoverage YES ADB_SKIP_LINT=YES
rm -rf build/reports/iosUnitResults.xcresult
xcodebuild test -workspace $(PROJECT_NAME).xcworkspace -scheme "UnitTests" -destination $(IOS_DESTINATION) -derivedDataPath build/out -resultBundlePath build/reports/iosUnitResults.xcresult -enableCodeCoverage YES ADB_SKIP_LINT=YES

functional-test-ios:
@echo "######################################################################"
@echo "### Functional Testing iOS"
@echo "######################################################################"
@$(MAKE) clean-derived-data SCHEME=FunctionalTests DESTINATION=$(IOS_DESTINATION)
xcodebuild test -workspace $(PROJECT_NAME).xcworkspace -scheme "FunctionalTests" -destination $(IOS_DESTINATION) -enableCodeCoverage YES ADB_SKIP_LINT=YES
rm -rf build/reports/iosFunctionalResults.xcresult
xcodebuild test -workspace $(PROJECT_NAME).xcworkspace -scheme "FunctionalTests" -destination $(IOS_DESTINATION) -derivedDataPath build/out -resultBundlePath build/reports/iosFunctionalResults.xcresult -enableCodeCoverage YES ADB_SKIP_LINT=YES

unit-test-tvos:
@echo "######################################################################"
@echo "### Unit Testing tvOS"
@echo "######################################################################"
@$(MAKE) clean-derived-data SCHEME=UnitTests DESTINATION=$(TVOS_DESTINATION)
xcodebuild test -workspace $(PROJECT_NAME).xcworkspace -scheme "UnitTests" -destination $(TVOS_DESTINATION) -enableCodeCoverage YES ADB_SKIP_LINT=YES
rm -rf build/reports/tvosUnitResults.xcresult
xcodebuild test -workspace $(PROJECT_NAME).xcworkspace -scheme "UnitTests" -destination $(TVOS_DESTINATION) -derivedDataPath build/out -resultBundlePath build/reports/tvosUnitResults.xcresult -enableCodeCoverage YES ADB_SKIP_LINT=YES

functional-test-tvos:
@echo "######################################################################"
@echo "### Functional Testing tvOS"
@echo "######################################################################"
@$(MAKE) clean-derived-data SCHEME=FunctionalTests DESTINATION=$(TVOS_DESTINATION)
xcodebuild test -workspace $(PROJECT_NAME).xcworkspace -scheme "FunctionalTests" -destination $(TVOS_DESTINATION) -enableCodeCoverage YES ADB_SKIP_LINT=YES
rm -rf build/reports/tvosFunctionalResults.xcresult
xcodebuild test -workspace $(PROJECT_NAME).xcworkspace -scheme "FunctionalTests" -destination $(TVOS_DESTINATION) -derivedDataPath build/out -resultBundlePath build/reports/tvosFunctionalResults.xcresult -enableCodeCoverage YES ADB_SKIP_LINT=YES

# CI alias for build and test workflow
integration-test-ios: upstream-integration-test-ios

# Runs the Edge Network (Konductor) integration tests after installing pod dependencies
Expand All @@ -165,7 +143,6 @@ integration-test-ios: upstream-integration-test-ios
# If MOBILE_PROPERTY_ID is not specified, test target will use its default value.
.SILENT: upstream-integration-test-ios # Silences Makefile's automatic echo of commands
upstream-integration-test-ios: pod-install; \
$(MAKE) clean-derived-data SCHEME=UpstreamIntegrationTests DESTINATION=$(IOS_DESTINATION)
if [ -z "$$EDGE_ENVIRONMENT" ]; then \
echo ''; \
echo '-------------------------- WARNING -------------------------------'; \
Expand All @@ -177,6 +154,8 @@ upstream-integration-test-ios: pod-install; \
-workspace $(PROJECT_NAME).xcworkspace \
-scheme UpstreamIntegrationTests \
-destination $(IOS_DESTINATION) \
-derivedDataPath build/out \
-resultBundlePath build/reports/iosIntegrationUpstreamResults.xcresult \
-enableCodeCoverage YES \
ADB_SKIP_LINT=YES \
TAGS_MOBILE_PROPERTY_ID=$(TAGS_MOBILE_PROPERTY_ID) \
Expand Down
Loading