https://github.com/bitrise-steplib/steps-carthage
Step for building dependencies with Carthage on Bitrise
https://github.com/bitrise-steplib/steps-carthage
bitrise bitrise-step ci production-code
Last synced: 10 months ago
JSON representation
Step for building dependencies with Carthage on Bitrise
- Host: GitHub
- URL: https://github.com/bitrise-steplib/steps-carthage
- Owner: bitrise-steplib
- License: mit
- Created: 2015-08-06T12:37:01.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-07-11T07:21:07.000Z (almost 2 years ago)
- Last Synced: 2025-04-10T06:46:55.293Z (about 1 year ago)
- Topics: bitrise, bitrise-step, ci, production-code
- Language: Go
- Homepage: https://bitrise.io
- Size: 382 KB
- Stars: 14
- Watchers: 11
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Carthage
[](https://github.com/bitrise-steplib/steps-carthage/releases)
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.
2. 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.
3. 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
- [Official Carthage documentation](https://github.com/Carthage/Carthage)
- [About Secrets and Env Vars ](https://devcenter.bitrise.io/builds/env-vars-secret-env-vars/)
### Related Steps
- [Bitrise.io Cache Push](https://www.bitrise.io/integrations/steps/cache-push)
- [Bitrise.io Cache Pull](https://www.bitrise.io/integrations/steps/cache-pull)
- [iOS Auto Provision](https://www.bitrise.io/integrations/steps/ios-auto-provision)
## 🧩 Get started
Add this step directly to your workflow in the [Bitrise Workflow Editor](https://devcenter.bitrise.io/steps-and-workflows/steps-and-workflows-index/).
You can also run this step directly with [Bitrise CLI](https://github.com/bitrise-io/bitrise).
## ⚙️ 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](https://help.github.com/articles/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](https://github.com/Carthage/Carthage/issues/3019). 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](https://github.com/bitrise-steplib/steps-carthage/pulls) and [issues](https://github.com/bitrise-steplib/steps-carthage/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](https://devcenter.bitrise.io/bitrise-cli/run-your-first-build/).
**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:
- [Create your own step](https://devcenter.bitrise.io/contributors/create-your-own-step/)
- [Testing your Step](https://devcenter.bitrise.io/contributors/testing-and-versioning-your-steps/)