Skip to content

Commit

Permalink
Merge pull request #452 from adobe/staging
Browse files Browse the repository at this point in the history
staging -> main for v5.0.0 release
  • Loading branch information
emdobrin authored Mar 20, 2024
2 parents 5156cf7 + 6270ff6 commit 4817d95
Show file tree
Hide file tree
Showing 72 changed files with 2,752 additions and 4,765 deletions.
67 changes: 27 additions & 40 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
version: 2.1

orbs:
codecov: codecov/codecov@3.2.5
# codecov: codecov/codecov@3.2.5
macos: circleci/macos@2

# Workflows orchestrate a set of jobs to be run
Expand Down Expand Up @@ -83,29 +83,20 @@ commands:
steps:
- macos/preboot-simulator:
platform: "iOS"
version: "16.1"
device: "iPhone 14"
version: "17.2"
device: "iPhone 15"

prestart_tvos_simulator:
steps:
- macos/preboot-simulator:
platform: "tvOS"
version: "16.1"
version: "17.2"
device: "Apple TV"

install_rosetta_for_m1:
steps:
- run:
name: Install Rosetta for M1
command: |
if [ "${CIRCLE_JOB}" == "test-ios" ] || [ "${CIRCLE_JOB}" == "test-tvos" ]; then
softwareupdate --install-rosetta --agree-to-license
fi
jobs:
validate-code:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
xcode: 15.1.0 # Specify the Xcode version to use

steps:
- checkout
Expand All @@ -118,12 +109,10 @@ jobs:

test-ios:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
resource_class: macos.m1.large.gen1 # Use large resource for iOS tests
xcode: 15.1.0 # Specify the Xcode version to use
resource_class: macos.x86.medium.gen2

steps:
- install_rosetta_for_m1 # needed for CodeCov uploader

- checkout

- install_dependencies
Expand All @@ -136,24 +125,24 @@ jobs:

# Code coverage upload using Codecov
# See options explanation here: https://docs.codecov.com/docs/codecov-uploader
- codecov/upload:
flags: ios-unit-tests
upload_name: Coverage report for iOS unit tests
xtra_args: -c -v --xc --xp build/reports/iosUnitResults.xcresult
# - codecov/upload:
# flags: ios-unit-tests
# upload_name: Coverage report for iOS unit tests
# xtra_args: -c -v --xc --xp build/reports/iosUnitResults.xcresult

- run:
name: Run iOS Functional Tests
command: make functional-test-ios
when: always # run even if unit tests fail

- codecov/upload:
flags: ios-functional-tests
upload_name: Coverage report for iOS functional tests
xtra_args: -c -v --xc --xp build/reports/iosFunctionalResults.xcresult
# - codecov/upload:
# flags: ios-functional-tests
# upload_name: Coverage report for iOS functional tests
# xtra_args: -c -v --xc --xp build/reports/iosFunctionalResults.xcresult

test-ios-integration:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
xcode: 15.1.0 # Specify the Xcode version to use

steps:
- checkout
Expand All @@ -168,12 +157,10 @@ jobs:

test-tvos:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
resource_class: macos.m1.large.gen1 # Use large resource for tvOS tests
xcode: 15.1.0 # Specify the Xcode version to use
resource_class: macos.x86.medium.gen2

steps:
- install_rosetta_for_m1 # needed for CodeCov uploader

- checkout

- install_dependencies
Expand All @@ -186,24 +173,24 @@ jobs:

# Code coverage upload using Codecov
# See options explanation here: https://docs.codecov.com/docs/codecov-uploader
- codecov/upload:
flags: tvos-unit-tests
upload_name: Coverage report for tvOS unit tests
xtra_args: -c -v --xc --xp build/reports/tvosUnitResults.xcresult
# - codecov/upload:
# flags: tvos-unit-tests
# upload_name: Coverage report for tvOS unit tests
# xtra_args: -c -v --xc --xp build/reports/tvosUnitResults.xcresult

- run:
name: Run tvOS Functional Tests
command: make functional-test-tvos
when: always # run even if unit tests fail

- codecov/upload:
flags: tvos-functional-tests
upload_name: Coverage report for tvOS functional tests
xtra_args: -c -v --xc --xp build/reports/tvosFunctionalResults.xcresult
# - codecov/upload:
# flags: tvos-functional-tests
# upload_name: Coverage report for tvOS functional tests
# xtra_args: -c -v --xc --xp build/reports/tvosFunctionalResults.xcresult

build_xcframework_and_app:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
xcode: 15.1.0 # Specify the Xcode version to use

steps:
- checkout
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,24 @@ on:

jobs:
release_edge:
runs-on: macos-latest
runs-on: macos-13
steps:
- uses: actions/checkout@v2
with:
ref: main
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '14.1'
xcode-version: '15.0.1'

- name: Install jq
run: brew install jq

- name: Install cocoapods
run: gem install cocoapods

- name: Install xcodegen
run: brew install xcodegen

- name: Check version in Podspec
run: |
set -eo pipefail
Expand Down Expand Up @@ -88,7 +91,7 @@ jobs:
if: ${{ github.event.inputs.release_AEPEdge == 'yes' }}
run: |
set -eo pipefail
pod trunk push AEPEdge.podspec --allow-warnings --synchronous --swift-version=5.1
pod trunk push AEPEdge.podspec --allow-warnings --synchronous
pod repo update
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
46 changes: 44 additions & 2 deletions .github/workflows/upstream-integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ on:
- 'sgp3'
- 'aus3'

run-name: ${{ inputs.id }}

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
test-integration-upstream:
Expand All @@ -54,6 +56,7 @@ jobs:
steps:

- name: Job run identifier ${{ github.event.inputs.id }}
id: job-run-identifier
run: |
if [ -z "${{ github.event.inputs.id }}" ]; then \
echo No job run identifier was set.
Expand All @@ -62,11 +65,13 @@ jobs:
fi;
- name: Checkout
id: checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.branch }}

- name: Cache Cocoapods
id: cache-cocoapods
uses: actions/cache@v3
with:
path: Pods
Expand All @@ -76,10 +81,47 @@ jobs:
# Runs a single command using the runners shell
- name: Execute Edge Network integration tests
id: execute-integration-tests
run: make test-integration-upstream EDGE_ENVIRONMENT=${{ github.event.inputs.environment }} EDGE_LOCATION_HINT=${{ github.event.inputs.edge-location-hint }}

# Potential workflow solutions on job failure
# All workflow setup step failures give exit code 2, with 3 as fallback
# Actual integration test failures give exit code 1
- name: On failure
id: on-failure
if: ${{ failure() }}
env:
BRANCH: ${{ github.event.inputs.branch }}
run: |
echo 'Job used branch: ' ${{ github.event.inputs.branch }}. Please make sure this is the branch to run off of.
echo "Job used branch: $BRANCH. Please make sure this is the branch to run off of."
EXIT_CODE=3
if [[ "${{ steps.job-run-identifier.conclusion }}" == "failure" ]]; then
echo "Job step failed: Job run identifier."
EXIT_CODE=2
elif [[ "${{ steps.checkout.conclusion }}" == "failure" ]]; then
echo "Job step failed: Checkout."
EXIT_CODE=2
elif [[ "${{ steps.cache-cocoapods.conclusion }}" == "failure" ]]; then
echo "Job step failed: Cache Cocoapods."
EXIT_CODE=2
elif [[ "${{ steps.execute-integration-tests.conclusion }}" == "failure" ]]; then
echo "Job step failed: Execute Edge Network integration tests."
EXIT_CODE=1
else
echo "Job failed: Failure cause not identified."
fi
echo "EXIT_CODE=$EXIT_CODE" >> $GITHUB_OUTPUT
#
- name: "{\"exitCode\":${{ steps.on-failure.outputs.EXIT_CODE || 0 }}}"
id: failure-data
if: ${{ failure() }}
run: |
echo 'exit code in the body: ${{ steps.on-failure.outputs.EXIT_CODE }}'
echo 'on-failure outputs: ${{ toJson(steps.on-failure.outputs) }}'

10 changes: 5 additions & 5 deletions AEPEdge.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "AEPEdge"
s.version = "4.3.1"
s.version = "5.0.0"
s.summary = "Experience Platform Edge extension for Adobe Experience Platform Mobile SDK. Written and maintained by Adobe."

s.description = <<-DESC
Expand All @@ -12,14 +12,14 @@ Pod::Spec.new do |s|
s.author = "Adobe Experience Platform SDK Team"
s.source = { :git => "https://github.com/adobe/aepsdk-edge-ios.git", :tag => s.version.to_s }

s.ios.deployment_target = '11.0'
s.tvos.deployment_target = '11.0'
s.ios.deployment_target = '12.0'
s.tvos.deployment_target = '12.0'

s.swift_version = '5.1'

s.pod_target_xcconfig = { 'BUILD_LIBRARY_FOR_DISTRIBUTION' => 'YES' }
s.dependency 'AEPCore', '>= 4.1.0', '< 5.0.0'
s.dependency 'AEPEdgeIdentity', '>= 4.0.0', '< 5.0.0'
s.dependency 'AEPCore', '>= 5.0.0', '< 6.0.0'
s.dependency 'AEPEdgeIdentity', '>= 5.0.0', '< 6.0.0'

s.source_files = 'Sources/**/*.swift'
end
Loading

0 comments on commit 4817d95

Please # to comment.