Skip to content

Commit

Permalink
added xcframework as a separate workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
bryce-b committed May 30, 2024
1 parent 9c76474 commit 13e8e31
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 27 deletions.
8 changes: 4 additions & 4 deletions .ci/scripts/xcframework.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ trap 's=$?; echo >&2 "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR

xcodebuild clean archive -scheme ElasticApm_iOS \
-configuration Release \
-destination 'generic/platform=iOS' \
-destination 'platform=iOS' \
-archivePath ./build/Release-iOS.xcarchive \
-derivedDataPath ./build/derivedDataPath \
SKIP_INSTALL=NO

xcodebuild clean archive -scheme ElasticApm_iOS \
-configuration Release \
-destination 'generic/platform=iOS Simulator' \
-destination 'platform=iOS Simulator' \
-archivePath ./build/Release-iphonesimulator.xcarchive \
-derivedDataPath ./build/derivedDataPath \
SKIP_INSTALL=NO
Expand All @@ -25,7 +25,7 @@ xcodebuild -create-xcframework \

xcodebuild clean archive -scheme ElasticApm_macOS \
-configuration Release \
-destination 'generic/platform=macOS' \
-destination 'platform=macOS' \
-archivePath ./build/Release-macOS.xcarchive \
-derivedDataPath ./build/derivedDataPath \
SKIP_INSTALL=NO
Expand All @@ -36,7 +36,7 @@ xcodebuild -create-xcframework \

xcodebuild clean archive -scheme ElasticApm_tvOS \
-configuration Release \
-destination 'generic/platform=tvOS' \
-destination 'platform=tvOS' \
-archivePath ./build/Release-tvOS.xcarchive \
-derivedDataPath ./build/derivedDataPath \
SKIP_INSTALL=NO
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
name: build

on:
workflow_dispatch:
pull_request:
push:
branches:
- "main"

permissions:
contents: read

jobs:
macos:
runs-on: macos-latest
Expand All @@ -18,7 +15,6 @@ jobs:
with:
xcode-version: latest-stable
- uses: actions/checkout@v4

- name: Run build
run: .ci/scripts/build.sh

Expand Down
77 changes: 58 additions & 19 deletions .github/workflows/xcframework.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,68 @@
---
name: xcframework builder

on:
workflow_dispatch:
pull_request:
push:
branches:
- "main"

permissions:
contents: read

jobs:
macos:
runs-on: macos-latest
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- uses: actions/checkout@v4
- name: xcodegen
uses: xavierLowmiller/[email protected]
with:
spec: project.yml
quiet: true
version: '2.41.0'
- name: generate xcframeworks
run : |
./ci/scripts/xcframework.sh
macos:
runs-on: macos-latest
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- uses: actions/checkout@v4
- name: xcodegen
uses: bryce-b/xcodegen-action@patch-1
with:
spec: project.yml
quiet: false
version: '2.41.0'
- name: generate iOS xcframeworks
run: |
xcodebuild clean archive -scheme ElasticApm_iOS \
-configuration Release \
-destination 'generic/platform=iOS' \
-archivePath ./build/Release-iOS.xcarchive \
-derivedDataPath ./build/derivedDataPath \
SKIP_INSTALL=NO
xcodebuild clean archive -scheme ElasticApm_iOS \
-configuration Release \
-destination 'generic/platform=iOS Simulator' \
-archivePath ./build/Release-iphonesimulator.xcarchive \
-derivedDataPath ./build/derivedDataPath \
SKIP_INSTALL=NO
xcodebuild -create-xcframework \
-framework $(pwd)/build/Release-iOS.xcarchive/Products/Library/Frameworks/ElasticApm.framework \
-framework $(pwd)/build/Release-iphonesimulator.xcarchive/Products/Library/Frameworks/ElasticApm.framework \
-output ./build/ElasticApm_iOS.xcframework
- name: generate macOS xcframework
run: |
xcodebuild clean archive -scheme ElasticApm_macOS \
-configuration Release \
-destination 'generic/platform=macOS' \
-archivePath ./build/Release-macOS.xcarchive \
-derivedDataPath ./build/derivedDataPath \
SKIP_INSTALL=NO
xcodebuild -create-xcframework \
-framework $(pwd)/build/Release-macOS.xcarchive/Products/Library/Frameworks/ElasticApm.framework \
-output ./build/ElasticApm_macOS.xcframework
- name: generate tvOS xcframework
run: |
xcodebuild clean archive -scheme ElasticApm_tvOS \
-configuration Release \
-destination 'generic/platform=tvOS' \
-archivePath ./build/Release-tvOS.xcarchive \
-derivedDataPath ./build/derivedDataPath \
SKIP_INSTALL=NO
xcodebuild -create-xcframework \
-framework $(pwd)/build/Release-tvOS.xcarchive/Products/Library/Frameworks/ElasticApm.framework \
-output ./build/ElasticApm_tvOS.xcframework
1 change: 1 addition & 0 deletions project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ targets:
platform: [iOS, macOS, tvOS]
settings:
BUILD_LIBRARY_FOR_DISTRIBUTION: YES
SWIFT_VERSION: 5
sources:
- Sources/apm-agent-ios
dependencies:
Expand Down

0 comments on commit 13e8e31

Please sign in to comment.