Skip to content

SwiftLint as Xcode Plugin doesn't work on Xcode Cloud #4484

@JagCesar

Description

@JagCesar

New Issue Checklist

Describe the bug

When setting up SwiftLint as an Xcode Plugin it always fails in Xcode Cloud builds. This happens because Xcode Cloud doesn't have write access to pluginWorkDirectory or .cachesDirectory.

Complete output when running SwiftLint, including the stack trace and command used
…
2022-10-27T11:29:16.891006545Z	Done linting! Found 13 violations, 0 serious in 612 files.
2022-10-27T11:29:16.891087138Z	Error: You don’t have permission to save the file “30cde6e7dbce7eecb2a554e9f928c329b93
2022-10-27T11:29:16.891194169Z	5109f468fa23b621c67e13581183e.plist” in the folder “B0249
2022-10-27T11:29:16.891286022Z	CAF-F
2022-10-27T11:29:16.891350071Z	879-3BE8-8269-FC397BB
2022-10-27T11:29:16.891423633Z	A4E12\342\200
2022-10-27T11:29:16.891483188Z	\235.
2022-10-27T11:29:16.891612278Z	Command PhaseScriptExecution failed with a nonzero exit code
…

Environment

  • SwiftLint version:
    0.50.0-rc.2

  • Installation method used:
    SPM, installed as Xcode Plugin

  • Paste your configuration file:
    Not relevant

  • Are you using nested configurations?
    No

  • Which Xcode version are you using (check xcodebuild -version)?
    Version 14.1 (14B47)

  • Do you have a sample that shows the issue? Run echo "[string here]" | swiftlint lint --no-cache --use-stdin --enable-all-rules
    to quickly test if your example is really demonstrating the issue. If your example is more
    complex, you can use swiftlint lint --path [file here] --no-cache --enable-all-rules.

    No, only reproducible on Xcode Cloud

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions