{"id":18947239,"url":"https://github.com/sparkfabrik/ios-build-action","last_synced_at":"2025-05-07T15:06:08.963Z","repository":{"id":37896628,"uuid":"314497942","full_name":"sparkfabrik/ios-build-action","owner":"sparkfabrik","description":"Build iOS project (.xcodeproj, .xcworkspace), export .ipa, optional upload to BrowserStack App Live.","archived":false,"fork":false,"pushed_at":"2024-07-17T14:13:55.000Z","size":831,"stargazers_count":140,"open_issues_count":2,"forks_count":27,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-05-07T15:05:41.050Z","etag":null,"topics":["build","ionic","ios","mobile","react-native"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sparkfabrik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-20T08:55:10.000Z","updated_at":"2025-05-05T01:46:31.000Z","dependencies_parsed_at":"2024-05-13T14:01:35.355Z","dependency_job_id":"c34a2fb4-9115-442a-ae33-93be3bee038b","html_url":"https://github.com/sparkfabrik/ios-build-action","commit_stats":{"total_commits":57,"total_committers":11,"mean_commits":5.181818181818182,"dds":0.6491228070175439,"last_synced_commit":"5f67a4036f4c02cd89290fa1d7d8c6c4dd0c1dd6"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfabrik%2Fios-build-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfabrik%2Fios-build-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfabrik%2Fios-build-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfabrik%2Fios-build-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sparkfabrik","download_url":"https://codeload.github.com/sparkfabrik/ios-build-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252902614,"owners_count":21822261,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build","ionic","ios","mobile","react-native"],"created_at":"2024-11-08T13:09:21.680Z","updated_at":"2025-05-07T15:06:08.939Z","avatar_url":"https://github.com/sparkfabrik.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Build iOS App\n\nThis action builds your iOS project (`.xcodeproj`, `.xcworkspace`) and can export the resulting `.ipa` file as GitHub artifact, with optional automatic upload to BrowserStack AppLive, and optional signed production build with App Store upload.\n\nTested with Ionic, React Native and native ios projects.\n\n## WARNING v2 has breaking changes and it will break your Actions!\n\nTo keep the old behavior please use the `v1` version.\n\n`v2.0.0` uses Match to simplify and strengthen the certificates management, and can optionally upload the build to the App Store.\n\n## Inputs\n\n### `project-path`\n\n**Required** .xcodeproj path.\n\n### `workspace-path`\n\n.xcworkspace path. Default `\"\"`.\n\n### `export-method`\n\nChoose app-store, `\"ad-hoc\"`, `\"package\"` `\"enterprise\"`, `\"development\"`, or `\"developer-id\"`. Default `\"app-store\"`.\n\n### `configuration`\n\nFor example, `\"Debug\"`, `\"Release\"`. Default `\"Release\"`.\n\n### `scheme`\n\nFor example, `MyScheme`.\n\n### `output-path`\n\nOutput path of ipa. Default `\"output.ipa\"`.\n\n### `team-id`\n\n**Required** Team id.\n\n### `team-name`\n\n**Required** Team name.\n\n### `build-pods`\n\nRun the `pod install` command during the build (boolean)\n\n### `pods-path`\n\nThe path to the Podfile. Default `\"Podfile\"`\n\n### `upload-to-testflight`\n\nUpload the build to the App Store (boolean)\n\n### `increment-build-number`\n\nAutomatically increment the latest build number from TestFlight by one (boolean)\n\n### `apple-key-id`\n\nThe Apple Key ID. See https://docs.fastlane.tools/app-store-connect-api/ and https://docs.fastlane.tools/actions/app_store_connect_api_key/ for more examples.\n\n### `apple-key-issuer-id`\n\nThe Apple Key Issuer ID. See https://docs.fastlane.tools/app-store-connect-api/ and https://docs.fastlane.tools/actions/app_store_connect_api_key/ for more examples.\n\n### `apple-key-content`\n\nThe Apple Key content. See https://docs.fastlane.tools/app-store-connect-api/ and https://docs.fastlane.tools/actions/app_store_connect_api_key/ for more examples.\n\n### `match-git-url`\n\nThe GitHub repo URL for storing Match certificates.\nSee https://docs.fastlane.tools/actions/match/\n\n### `match-git-basic-authorization`\n\nbase64 key to the repo.\nGenerate it with `echo -n your_github_username:your_personal_access_token | base64`\n\n### `match-password`\n\nThe password to decrypt the certificates.\n\n### `match-build-type`\n\nThe Match build type (eg. \"development\")\n\n### `browserstack-upload`\n\nSet this to true to upload the resulting .ipa file to Browserstack App Live right after the build (https://www.browserstack.com/docs/app-live/integrations/fastlane)\n\nDefaut to false.\n\n### `browserstack-username`\n\nBrowserstack username (**required if** browserstack-upload == true)\n\n### `browserstack-access-key`\n\nBrowserstack access key (**required if** browserstack-upload == true)\n\n### `fastlane-version`\n\nFastlane version to be used. If not specified, the default value will be used.\n\n### `fastlane-env`\n\nName of the env file name to pass to `fastlane --env`\n\n### `ios-app-id`\n\nThe iOS application identifier; useful to sync a specific provisioning profile\n\n## Contributions Welcome!\n\nIf you have any other inputs you'd like to add, feel free to create PR.\n\n**NOTE:** Remember to run `yarn install` and `yarn bundle` if you make changes to the `index.js`.\n\n## Example usage with a production build uploaded to App Store\n\n```yaml\n- uses: sparkfabrik/ios-build-action@v2.3.0\n  with:\n    upload-to-testflight: true\n    increment-build-number: true\n    build-pods: true\n    pods-path: \"ios/Podfile\"\n    configuration: Release\n    export-method: app-store\n    workspace-path: ${{ secrets.WORKSPACE_PATH }}\n    project-path: ${{ secrets.PROJECT_PATH }}\n    scheme: MyScheme\n    output-path: build-${{ github.sha }}.ipa\n    apple-key-id: ${{ secrets.APPLE_KEY_ID }}\n    apple-key-issuer-id: ${{ secrets.APPLE_KEY_ISSUER_ID }}\n    apple-key-content: ${{ secrets.APPLE_KEY_CONTENT }}\n    team-id: ${{ secrets.TEAM_ID }}\n    team-name: ${{ secrets.TEAM_NAME }}\n    match-password: ${{ secrets.MATCH_PASSWORD }}\n    match-git-url: ${{ secrets.MATCH_GIT_URL }}\n    match-git-basic-authorization: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}\n    match-build-type: \"appstore\"\n    browserstack-upload: true\n    browserstack-username: ${{ secrets.BROWSERSTACK_USERNAME }}\n    browserstack-access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}\n    fastlane-env: stage\n    ios-app-id: com.identifier.my_app\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfabrik%2Fios-build-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparkfabrik%2Fios-build-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfabrik%2Fios-build-action/lists"}