Skip to content

Step for building dependencies with Carthage on Bitrise

License

Notifications You must be signed in to change notification settings

bitrise-steplib/steps-carthage

Repository files navigation

Carthage

Step changelog

Runs the selected Carthage command.

Description

Downloads and builds the dependencies your Cocoa application needs.

Configuring the Step

  1. Add the Carthage Step in your Workflow.
  2. Select bootstrap Carthage command in the Carthage command to run input. Make sure you have the Bitrise.io Cache:Pull Step before and the Bitrise.io Cache:Push Step after the Carthage Step in your Workflow to cache files and speed up your Bitrise build.
  3. Provide your GitHub credentials in the GitHub Personal Access Token input to avoid GitHub rate limit issues. Don't worry, your credentials are safe with us since we store them encrypted and do not print them out in build logs.
  4. Optionally, you can provide any extra flag for the Carthage command you wish to run in the Additional options for Carthage command input.
  5. To get more information printed out, set the Enable verbose logging to yes.

Troubleshooting

It is important that you use bootstrap Carthage command, as this is the only command that can leverage the cache! If you run, for example, the update command, it won't generate the required cache information, because the update command will disregard the available files or the cache.

Useful links

Related Steps

🧩 Get started

Add this step directly to your workflow in the Bitrise Workflow Editor.

You can also run this step directly with Bitrise CLI.

⚙️ Configuration

Inputs
Key Description Flags Default
carthage_command Select a command to set up your dependencies. The step will cache your dependencies only when using bootstrap in this input and you have cache-pull and cache-push steps in your workflow. To see available commands run: carthage help on your local machine. required bootstrap
carthage_options Options added to the end of the Carthage call. You can use multiple options, separated by a space character. To see available command's options, call carthage help COMMAND Format example: --platform ios
github_access_token Use this input to avoid Github rate limit issues. See the github's guide: Creating an access token for command-line use, how to create Personal Access Token. UNCHECK EVERY SCOPE BOX when creating this token. There is no reason this token needs access to private information. sensitive $GITHUB_ACCESS_TOKEN
xcconfig Use this input to provide an xcconfig file as a workaround for the Xcode 12 issue. For more information, see the Github issue. Can either be a local file provided with the file:// scheme (like file://path/to/file.xcconfig) or an URL (like https://domain.com/file.xconfig).
verbose_log Enable verbose logging? required no
Outputs There are no outputs defined in this step

🙋 Contributing

We welcome pull requests and issues against this repository.

For pull requests, work on your changes in a forked repository and use the Bitrise CLI to run step tests locally.

Note: this step's end-to-end tests (defined in e2e/bitrise.yml) are working with secrets which are intentionally not stored in this repo. External contributors won't be able to run those tests. Don't worry, if you open a PR with your contribution, we will help with running tests and make sure that they pass.

Learn more about developing steps: