-
-
Notifications
You must be signed in to change notification settings - Fork 356
ci: parallelize xcframework slice builds #5218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
armcknight
merged 202 commits into
main
from
armcknight/ci/parallelize-xcframework-build
Jun 10, 2025
Merged
Changes from 70 commits
Commits
Show all changes
202 commits
Select commit
Hold shift + click to select a range
5e09c96
ci: remove workflow that pushes commits to branches
armcknight de8e3e1
also remove script and update contributing
armcknight 31f52c4
just use the main init and brewfile
armcknight 541ce9a
ref: extract xcframework-based jobs from build.yml into new build-xcf…
armcknight eeac6b7
fix new build trigger
armcknight 3d52789
wip splitting up
armcknight b31dc3b
more wip
armcknight 2abdfa1
more wip
armcknight 8d6b5bc
parameterize everything in a matrix
armcknight 221c5ef
DONOTMERGE remove other ci jobs
armcknight f6670ce
try assembly as well
armcknight f2f2a94
fix yaml spec
armcknight 8ca70ef
try to fix suffix
armcknight f7d81dd
fix matrix access
armcknight 8182223
capture logfile
armcknight 4713730
fix logs
armcknight 8f5ff02
step ordering with checkout
armcknight 94d8d9f
put xcbeautify in build ci brewfile
armcknight adb0215
oh yeah xcbeautify is preinstalled
armcknight f794b76
DONOTMERGE let all jobs run
armcknight 92b0202
fix args
armcknight 7347998
remove dylib machotype for uikitless variant
armcknight 1e22c5e
try the correct macho type
armcknight 62eff3d
remove target dependency of sentryswiftui on sentry
armcknight 6b36de1
implement assembly steps
armcknight dc1f0aa
differentiate separate xcframeworks
armcknight c86924b
add some missing trigger files
armcknight bcd8e9f
Revert "remove target dependency of sentryswiftui on sentry"
armcknight d193556
fix create xcframework name, TEMP comment out other jobs
armcknight a277b97
uncomment
armcknight 63c3b39
Revert "DONOTMERGE let all jobs run"
armcknight f3050f6
Revert "DONOTMERGE remove other ci jobs"
armcknight f898d9a
DONOTMERGE remove all but build and release jobs
armcknight eb2e5db
put back release job and use the two new parallel steps
armcknight 1e7c5bc
extract assembly to script
armcknight b741791
put in the release version
armcknight 8a61b47
fix perms
armcknight 7d4f81b
fix awks, remove unnecessary workflow job steps
armcknight e285af8
properly interpolate path into awk script
armcknight 96f0096
dont need to append path prefix
armcknight 4fe1801
eval as one long string
armcknight 889ea3a
interleave framework/debugsymbol args
armcknight e67bfd4
separately check for existence of dsym and framework; static framewor…
armcknight c69cfd4
do the sentry dep build removal before even archiving
armcknight 27357dd
use pattern for all the validation downloads
armcknight 746500e
update the version in release.yml
armcknight 335339e
merge multiple artfact downloads for validation steps
armcknight 2d85054
only download sentry-dynamic and sentryswiftui for the valdation step
armcknight 44b08de
need the static sentry framework not the dynamic one
armcknight cca1c02
try fixing paths?
armcknight 54f9320
correctly remove sentry.framework from sentryswiftui build
armcknight e31ad72
fix comparison
armcknight 3ea10bf
try single quotes
armcknight 2c79300
ls some directories
armcknight dc97c90
fix find invocations, use -t on xargs to print every invocation
armcknight 760bb97
find instead of ls
armcknight 3b20a6a
find zipfiles
armcknight dff5aaf
move up to Carthage/
armcknight 3e312a5
fix xargs mv
armcknight 9762535
clean up
armcknight 8fd80de
add back in the other workflows
armcknight 4609768
remove reference scripts
armcknight 0bcfb02
clean up makefile and more workflow file triggers
armcknight ea25a75
ci: refactor xcframework build workflows (#5277)
armcknight 517598f
resolve merge leftovers
armcknight adf3872
put back some stuff after rebase
armcknight 8de450f
format
armcknight 0dbd80c
Merge branch 'main' into armcknight/ci/parallelize-xcframework-build
armcknight 306772a
more format
armcknight 5ec9eef
more format
armcknight 4c80072
need to archive the maccatalyst slices too
armcknight 11fb006
only build a catalyst slice for macosx sdk
armcknight ab6cd13
look more generally for frameworks and dsyms
armcknight ca77e48
pr feedback
armcknight 475ce54
Merge branch 'main' into armcknight/ci/parallelize-xcframework-build
armcknight 8fa15d3
add local script
armcknight db1a978
explanatory comment
armcknight e4fff16
predefine all sdks to assemble instead of searching for whatever fram…
armcknight 3995e69
remove unused gameOnly parameter path
armcknight a4417e1
comments
armcknight 0e20e37
fix dsym presence check
armcknight 63c71d8
fix github action name display
armcknight 86de9fe
fix maccatalyst: copy it from derived data before its deleted
armcknight cfc8c99
make sdk list optional for assembly defaulting to all sdks
armcknight 287548e
shorten name
armcknight f17ed05
fixup! shorten name
armcknight 419f5bc
fixes for mac catalyst; some other tweaks/standardization
armcknight 380ca10
Merge remote-tracking branch 'origin/main' into armcknight/ci/paralle…
armcknight 6514e4d
fix invocation with multiple optional params
armcknight e157524
fixup! fix invocation with multiple optional params
armcknight 9d3a94c
fix broken path usages for maccatalyst dsyms
armcknight b978605
DONOTMERGE ls files
armcknight aecb50c
fixup! DONOTMERGE ls files
armcknight 3f888ba
fix argument name
armcknight 0557199
fixup! fixup! DONOTMERGE ls files
armcknight 01964a0
fix issue where xcarchives couldnt be found for both ci and local bui…
armcknight 666113f
dont search again for framework directories, theyre already in the xc…
armcknight 17c6003
allow scoping xcframework build by variant or sdk
armcknight 3353f05
fix maccatalyst dsym search
armcknight 437aea2
revert: DONOTMERGE ls files
armcknight 1d1d33f
gitignore xcframework bundles
armcknight 1f4edea
try fixing comparison
armcknight 1790f49
fixup! try fixing comparison
armcknight 6eb3f58
fixup! try fixing comparison
armcknight e0305ca
fix naming for assembly
armcknight 3020f7a
treat maccatalyst as a first class sdk
armcknight 3d70578
fix arg order after refactor
armcknight c5f4bf9
fix arg order after refactor
armcknight c9018b5
remove sdk check
armcknight efe175a
fix slice finding for assembly
armcknight ba6a1e5
DONOTMERGE remove other workflows
armcknight 6184a12
DONOTMERGE find directories
armcknight 3e97904
benign change to kick ci
armcknight a0fa8d9
Revert "DONOTMERGE remove other workflows"
armcknight 33b558a
DONOTMERGE remove some workflows
armcknight f6e6604
Revert "DONOTMERGE remove some workflows"
armcknight 3d78e81
Revert "Revert "DONOTMERGE remove other workflows""
armcknight 97eb897
Merge remote-tracking branch 'origin/main' into armcknight/ci/paralle…
armcknight 9e7e33f
fix ci paths for assembly
armcknight 9890540
fix paths for assembly... again
armcknight c8dac60
add maccatalyst to list of all sdks for local build
armcknight ea4c08c
fix variant sdk list param name
armcknight 4da6b14
fix config suffix in ci
armcknight c65ccb5
use full path for dSYMs
armcknight c6655fc
fix maccatalyst path
armcknight 0469ffe
fix zip path
armcknight d0dff7f
DONOTMERGE find xcframeworks
armcknight c1469a3
fix parameter passing
armcknight 15950d4
fix xcframework final product names
armcknight bfde9f2
fix zip path arg
armcknight f3a5be9
zip per variant
armcknight 1abfdf9
put back makefile tasks and update invocations
armcknight b19ea98
fix suffixing
armcknight ab344d6
fix zip script invocation
armcknight ff1f0c3
Merge remote-tracking branch 'origin/main' into armcknight/ci/paralle…
armcknight bbe64a7
fix variable access
armcknight 5c0354c
fix empty arg
armcknight 74dd8ee
fix archive slug
armcknight 78b91ff
make sure local zips are in right place for sample validation
armcknight d134daf
Revert "Revert "Revert "DONOTMERGE remove other workflows"""
armcknight c5cb870
Revert "DONOTMERGE find xcframeworks"
armcknight b372bd3
remove other debugging
armcknight 2e58629
fix after prior merge
armcknight 24ade35
put back signing cert preparation
armcknight 1326f54
add maccatalyst to list for assembly
armcknight 1fb967f
test the release workflow
armcknight 58537a3
update params passed in release.yml
armcknight fcd433f
update fastlane file name
armcknight ad91f45
fix release.yml running in PRs
armcknight 338a4b6
go back to running release on macos-13-xlarge
armcknight ec854da
bump version to current releasing version with git sha as semver meta…
armcknight bb818ba
fix grabbing version
armcknight c9258ed
DONOTMERGE remove other workflows
armcknight 84d51d8
fix alpha version creation
armcknight 832f933
try different way to get versions for either release or pr alpha
armcknight ffa6f44
use different ids
armcknight 19216d8
move cert download to part that actually does signing
armcknight 113e310
inherit secrets to download certs repo
armcknight 8d0d5c2
pass config suffix in release job
armcknight fcb2bf1
move version bumping into assembly workflow
armcknight 04ecb37
zip built slices to avoid symlink breakage
armcknight 04ac014
fix release job dependency
armcknight cbc0409
fix if checks
armcknight 7108e8e
fixup! fix if checks
armcknight 7f98ea1
need to bump version in build step, not assembly
armcknight 7fba69d
fixup! need to bump version in build step, not assembly
armcknight ffe8c4d
fixup! fix if checks
armcknight 54fda91
try new way to get version
armcknight 9c57426
look at what exists after downloading artifacts
armcknight 0e5da93
fixup! look at what exists after downloading artifacts
armcknight f3d9c1a
try unzipping everything
armcknight 8a25731
fix path for new unzip location
armcknight 21b48d5
Merge remote-tracking branch 'origin/main' into armcknight/ci/paralle…
armcknight 0ccbee6
copy catalyst product without following symlinks
armcknight cb807f1
copy dsyms to right place for catalyst
armcknight 9f2f968
Revert "DONOTMERGE remove other workflows"
armcknight d97106a
revert overwritten merges
armcknight 50b2e51
fix previous fix
armcknight 45e2a9e
dedupe
armcknight b322ac7
dont worry about caching yet
armcknight 95fd426
update for new location of xcframework
armcknight bdd8620
add back a couple things that probably shoudnt have changed for relea…
armcknight 07490fe
fix condition to run the release job
armcknight aec2a2c
fix download of artifacts for release
armcknight f524e8f
fix lint failure
armcknight ce7f70d
pull out the infoplist modification to the end for all sdks
armcknight 9c616f0
fix another lint issue
armcknight b5608b6
Merge remote-tracking branch 'origin/main' into armcknight/ci/paralle…
armcknight 41dcaf2
use new parallel xcframework build from ui test reusable workflow
armcknight 8ef078a
convert signed to boolean
armcknight 239d883
remove shell declarations to use the default
armcknight 0ad8232
better scoped globs
armcknight 2d699cf
rename script for accuracy
armcknight ae793b6
only use the necessary variant for the ui test; also download and unzip
armcknight 871dc31
fix script rename
armcknight 42e7ce6
fix missed renames
armcknight b1c70e0
convert pattern to name
armcknight f2ab807
remove conditional checks
armcknight cbeeeb6
hoist xcframework build and disambiguate from release workflows build
armcknight efd28c2
make sure duplication test downloads the xcframework
armcknight 83ccbc8
lint
armcknight ff0daea
only build the sdks needed for the duplication test
armcknight File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
name: "Assemble Sentry Cocoa XCFramework variant" | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
name: | ||
description: |- | ||
The Sentry project target to build an XCFramework slice for. | ||
Possible values: Sentry, SentrySwiftUI. | ||
required: true | ||
type: string | ||
|
||
suffix: | ||
description: |- | ||
The suffix to add to the build product name. | ||
E.g. "-Dynamic" or "-WithoutUIKitOrAppKit". | ||
required: false | ||
type: string | ||
|
||
variant-id: | ||
description: |- | ||
The ID of the variant to build an XCFramework slice for. Used to collect appropriate slices for final deliverable assembly. | ||
required: true | ||
type: string | ||
|
||
jobs: | ||
assemble-xcframework-variant: | ||
name: Assemble ${{inputs.name}}${{inputs.suffix}} XCFramework Variant | ||
|
||
runs-on: macos-14 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Download ${{inputs.variant-id}} Slices | ||
uses: actions/download-artifact@v4 | ||
with: | ||
pattern: xcframework-${{inputs.variant-id}}-slice-* | ||
path: xcframework-slices | ||
|
||
- name: Assemble XCFramework | ||
run: ./scripts/assemble-xcframework.sh "${{github.workspace}}/xcframework-slices" "${{inputs.name}}${{inputs.suffix}}" | ||
shell: bash | ||
|
||
- name: Archive XCFramework | ||
armcknight marked this conversation as resolved.
Show resolved
Hide resolved
|
||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: xcframework-${{github.sha}}-${{inputs.variant-id}} | ||
if-no-files-found: error | ||
path: ${{inputs.name}}${{inputs.suffix}}.xcframework.zip |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
name: "Build Sentry Cocoa XCFramework variant slices" | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
sdk-list: | ||
description: |- | ||
The list of Apple platform SDKs for which to build slices and assemble into an XCFramework. This must be a JSON array of strings, itself in a string since GitHub Actions doesn't support arrays as inputs. | ||
Possible values: iphoneos, iphonesimulator, macosx, appletvos, appletvsimulator, watchos, watchsimulator, xros, xrsimulator. | ||
required: false | ||
default: '["iphoneos", "iphonesimulator", "macosx", "appletvos", "appletvsimulator", "watchos", "watchsimulator", "xros", "xrsimulator"]' | ||
type: string | ||
|
||
name: | ||
description: |- | ||
The Sentry project target to build an XCFramework slice for. | ||
Possible values: Sentry, SentrySwiftUI. | ||
required: true | ||
type: string | ||
|
||
suffix: | ||
description: |- | ||
The suffix to add to the build product name. | ||
E.g. "-Dynamic" or "-WithoutUIKitOrAppKit". | ||
required: false | ||
type: string | ||
|
||
macho-type: | ||
description: |- | ||
The Mach-O type of the build product. | ||
Possible values: mh_dylib, staticlib. | ||
required: false | ||
type: string | ||
default: "mh_dylib" | ||
|
||
configuration-suffix: | ||
description: |- | ||
The suffix to add to the build product name to build an alternate configuration of the target. | ||
E.g. "WithoutUIKit". | ||
required: false | ||
type: string | ||
|
||
variant-id: | ||
description: |- | ||
The ID of the variant to build an XCFramework slice for. Used to collect appropriate slices for final deliverable assembly. | ||
required: true | ||
type: string | ||
|
||
include-maccatalyst: | ||
description: |- | ||
Directs whether or not to build a Mac Catalyst compatible slice. | ||
required: false | ||
type: string | ||
default: "false" | ||
|
||
jobs: | ||
build-xcframework-variant-slices: | ||
name: Build ${{inputs.name}}${{inputs.suffix}} XCFramework Variant Slice for ${{matrix.sdk}} | ||
|
||
# We must compile this on an arm64 runner, cause it's required for visionOS. macos-14 uses arm64. | ||
# To see the available runners see https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories. | ||
runs-on: macos-14 | ||
|
||
strategy: | ||
matrix: | ||
sdk: ${{ fromJson(inputs.sdk-list) }} | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
# We have to compile on Xcode 15.2 because compiling on Xcode 15.4 fails with | ||
# Data+SentryTracing.swift:21:62: error: 'ReadingOptions' aliases 'Foundation.ReadingOptions' | ||
# and cannot be used here because C++ types from imported module 'Foundation' do not support | ||
# library evolution; this is an error in the Swift 6 language mode | ||
# We also can't use Xcode 16.x because validating the XCFramework then fails with Xcode 15.x. | ||
- run: ./scripts/ci-select-xcode.sh 15.2 | ||
shell: bash | ||
|
||
- name: Build ${{inputs.name}}${{inputs.suffix}} XCFramework slice for ${{matrix.sdk}} | ||
if: startsWith(github.ref, 'refs/heads/release/') == false | ||
run: ./scripts/build-xcframework-slice.sh ${{matrix.sdk}} ${{inputs.name}} "${{inputs.suffix}}" ${{inputs.macho-type}} ${{inputs.include-maccatalyst}} ${{inputs.configuration-suffix}} | ||
shell: bash | ||
|
||
- name: Remove Sentry.framework from SentrySwiftUI build | ||
armcknight marked this conversation as resolved.
Show resolved
Hide resolved
|
||
if: inputs.name == 'SentrySwiftUI' | ||
run: | | ||
find "${{github.workspace}}/Carthage/archive" -name "Sentry.framework" -print0 | xargs -t0 rm -rf | ||
find "${{github.workspace}}/Carthage/archive" -name "Sentry.framework.dSYM" -print0 | xargs -t0 rm -rf | ||
shell: bash | ||
|
||
- name: Archiving xcarchive | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: xcframework-${{inputs.variant-id}}-slice-${{matrix.sdk}} | ||
if-no-files-found: error | ||
path: | | ||
${{github.workspace}}/Carthage/archive/${{inputs.name}}${{inputs.suffix}}/${{matrix.sdk}}.xcarchive | ||
|
||
- name: Archive build log if failed | ||
uses: actions/upload-artifact@v4 | ||
if: ${{ failure() || cancelled() }} | ||
with: | ||
name: raw-build-output-build-xcframework-${{inputs.variant-id}}-${{matrix.sdk}} | ||
path: | | ||
*.log |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
name: "Build Sentry XCFramework" | ||
on: | ||
push: | ||
branches: | ||
- main | ||
- release/** | ||
|
||
pull_request: | ||
paths: | ||
- "Sources/**" | ||
- ".github/workflows/build-xcframework.yml" | ||
- "scripts/ci-select-xcode.sh" | ||
- Sentry.xcworkspace/** | ||
- Sentry.xcodeproj/** | ||
- "Package.swift" | ||
- "scripts/build-xcframework-slice.sh" | ||
- "scripts/assemble-xcframework.sh" | ||
- ".github/workflows/build-xcframework-variant-slices.yml" | ||
- ".github/workflows/assemble-xcframework-variant.yml" | ||
- Samples/macOS-SPM-CommandLine/** | ||
- Samples/SPM-Dynamic/** | ||
|
||
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build-xcframework-variant-slices: | ||
uses: ./.github/workflows/build-xcframework-variant-slices.yml | ||
with: | ||
name: ${{matrix.variant.name}} | ||
suffix: ${{matrix.variant.suffix}} | ||
macho-type: ${{matrix.variant.macho-type}} | ||
configuration-suffix: ${{matrix.variant.configuration-suffix}} | ||
variant-id: ${{matrix.variant.id}} | ||
include-maccatalyst: ${{matrix.include-maccatalyst}} | ||
strategy: | ||
matrix: | ||
variant: | ||
- name: Sentry | ||
suffix: "-Dynamic" | ||
id: sentry-dynamic | ||
include-maccatalyst: "true" | ||
- name: Sentry | ||
macho-type: staticlib | ||
id: sentry-static | ||
- name: SentrySwiftUI | ||
id: sentryswiftui | ||
- name: Sentry | ||
suffix: "-WithoutUIKitOrAppKit" | ||
macho-type: mh_dylib | ||
configuration-suffix: WithoutUIKit | ||
id: sentry-withoutuikit-dynamic | ||
|
||
assemble-xcframework-variant: | ||
needs: build-xcframework-variant-slices | ||
uses: ./.github/workflows/assemble-xcframework-variant.yml | ||
with: | ||
name: ${{matrix.variant.name}} | ||
suffix: ${{matrix.variant.suffix}} | ||
variant-id: ${{matrix.variant.id}} | ||
strategy: | ||
matrix: | ||
variant: | ||
- name: Sentry | ||
suffix: "-Dynamic" | ||
id: sentry-dynamic | ||
- name: Sentry | ||
id: sentry-static | ||
- name: SentrySwiftUI | ||
id: sentryswiftui | ||
- name: Sentry | ||
suffix: "-WithoutUIKitOrAppKit" | ||
id: sentry-withoutuikit-dynamic | ||
|
||
validate-xcframework: | ||
name: Validate XCFramework | ||
runs-on: macos-13 | ||
needs: assemble-xcframework-variant | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
pattern: xcframework-${{github.sha}}-sentry-static | ||
path: Carthage/ | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
pattern: xcframework-${{github.sha}}-sentryswiftui | ||
path: Carthage/ | ||
- run: find Carthage -name "*.zip" -print0 | xargs -t0I @ mv @ Carthage | ||
- run: ./scripts/ci-select-xcode.sh 15.2 | ||
- run: make build-xcframework-sample | ||
shell: sh | ||
|
||
# Use github.event.pull_request.head.sha instead of github.sha when available as | ||
# the github.sha is be the pre merge commit id for PRs. | ||
# See https://github.community/t/github-sha-isnt-the-value-expected/17903/17906. | ||
validate-spm: | ||
name: Validate Swift Package Manager | ||
runs-on: macos-13 | ||
needs: assemble-xcframework-variant | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
pattern: xcframework-${{github.sha}}-* | ||
merge-multiple: true | ||
- name: Change path of the framework | ||
run: | | ||
sed -i '' 's/url.*//g' Package.swift | ||
sed -i '' 's/checksum: ".*" \/\/Sentry-Static/path: "Sentry.xcframework.zip"/g' Package.swift | ||
sed -i '' 's/checksum: ".*" \/\/Sentry-Dynamic/path: "Sentry-Dynamic.xcframework.zip"/g' Package.swift | ||
shell: bash | ||
- run: swift build | ||
working-directory: Samples/macOS-SPM-CommandLine | ||
shell: sh | ||
|
||
validate-spm-dynamic: | ||
name: Validate Swift Package Manager Dynamic | ||
runs-on: macos-13 | ||
needs: assemble-xcframework-variant | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
pattern: xcframework-${{github.sha}}-* | ||
merge-multiple: true | ||
- name: Change path of the framework | ||
run: | | ||
sed -i '' 's/url.*//g' Package.swift | ||
sed -i '' 's/checksum: ".*" \/\/Sentry-Static/path: "Sentry.xcframework.zip"/g' Package.swift | ||
sed -i '' 's/checksum: ".*" \/\/Sentry-Dynamic/path: "Sentry-Dynamic.xcframework.zip"/g' Package.swift | ||
shell: bash | ||
- run: swift build | ||
working-directory: Samples/SPM-Dynamic | ||
shell: sh | ||
|
||
swift-build: | ||
name: Build with Swift | ||
runs-on: macos-13 | ||
needs: assemble-xcframework-variant | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/download-artifact@v4 | ||
with: | ||
pattern: xcframework-${{github.sha}}-* | ||
merge-multiple: true | ||
- name: Change path of the framework | ||
run: | | ||
sed -i '' 's/url.*//g' Package.swift | ||
sed -i '' 's/checksum: ".*" \/\/Sentry-Static/path: "Sentry.xcframework.zip"/g' Package.swift | ||
sed -i '' 's/checksum: ".*" \/\/Sentry-Dynamic/path: "Sentry-Dynamic.xcframework.zip"/g' Package.swift | ||
shell: bash | ||
- run: swift build | ||
shell: sh |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.