因此,我们目前正在尝试在执行
xcodebuild test
命令后使用 GitHub Actions 将调试文件上传到 Sentry:
set -o pipefail && env NSUnbufferedIO=YES xcodebuild test -scheme Myscheme -workspace myworkspace.xcworkspace -destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' -enableCodeCoverage YES -allowProvisioningUpdates CODE_SIGNING_ALLOWED=NO | xcpretty
为此,我们使用以下哨兵 cli 命令:
sentry-cli debug-files upload --auth-token ${{ secrets.SENTRY_AUTH_TOKEN }} \
--include-sources \
--org myorg \
--project myproject \
$DWARF_DSYM_FOLDER_PATH/$DWARF_DSYM_FILE_NAME
但是这个命令给了我们一个
Permission denied (os error 13)
。尝试更改目录中的权限也不起作用。
我们无法在构建阶段上传调试文件,因为我们无法公开我们的 Sentry 令牌。
一些额外信息:我们在 GitHub Actions 中的工作流程在 macos-13 上运行。
有什么想法可以帮助我吗?谢谢!
您的 dSYM 应位于 GH 操作的 DerivedData 文件夹中。尝试跑步
sentry-cli debug-files upload --auth-token ${{ secrets.SENTRY_AUTH_TOKEN }} \
--include-sources \
--org myorg \
--project myproject \
DerivedData/
DWARF_DSYM_FOLDER_PATH
和 DWARF_DSYM_FILE_NAME
特定于 Xcode。我没想到他们会在 GH Actions 工作。如果 DerivedData/
不起作用,您可以使用 -showBuildSettings
xcodebuild
标志来获取它们的值。
您还可以使用 xcodebuild 的
-derivedDataPath
选项指定自定义派生数据位置。