Code Monkey home page Code Monkey logo

ios-build-action's Introduction

Build iOS App

This 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.

Tested with Ionic, React Native and native ios projects.

WARNING v2 has breaking changes and it will break your Actions!

To keep the old behavior please use the v1 version.

v2.0.0 uses Match to simplify and strengthen the certificates management, and can optionally upload the build to the App Store.

Inputs

project-path

Required .xcodeproj path.

workspace-path

.xcworkspace path. Default "".

export-method

Choose app-store, "ad-hoc", "package" "enterprise", "development", or "developer-id". Default "app-store".

configuration

For example, "Debug", "Release". Default "Release".

scheme

For example, MyScheme.

output-path

Output path of ipa. Default "output.ipa".

team-id

Required Team id.

team-name

Required Team name.

build-pods

Run the pod install command during the build (boolean)

pods-path

The path to the Podfile. Default "Podfile"

upload-to-testflight

Upload the build to the App Store (boolean)

increment-build-number

Automatically increment the latest build number from TestFlight by one (boolean)

apple-key-id

The Apple Key ID

apple-key-issuer-id

The Apple Key Issuer ID

apple-key-content

The Apple Key content

match-git-url

The GitHub repo URL for storing Match certificates. See https://docs.fastlane.tools/actions/match/

match-git-basic-authorization

base64 key to the repo. Generate it with echo -n your_github_username:your_personal_access_token | base64

match-password

The password to decrypt the certificates.

match-build-type

The Match build type (eg. "development")

browserstack-upload

Set 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)

Defaut to false.

browserstack-username

Browserstack username (required if browserstack-upload == true)

browserstack-access-key

Browserstack access key (required if browserstack-upload == true)

fastlane-env

Name of the env file name to pass to fastlane --env

ios-app-id

The iOS application identifier; useful to sync a specific provisioning profile

Contributions Welcome!

If you have any other inputs you'd like to add, feel free to create PR.

NOTE: Remember to run yarn install and yarn bundle if you make changes to the index.js.

Example usage with a production build uploaded to App Store

- uses: sparkfabrik/[email protected]
  with:
    upload-to-testflight: true
    increment-build-number: true
    build-pods: true
    pods-path: "ios/Podfile"
    configuration: Release
    export-method: app-store
    workspace-path: ${{ secrets.WORKSPACE_PATH }}
    project-path: ${{ secrets.PROJECT_PATH }}
    scheme: MyScheme
    output-path: build-${{ github.sha }}.ipa
    apple-key-id: ${{ secrets.APPLE_KEY_ID }}
    apple-key-issuer-id: ${{ secrets.APPLE_KEY_ISSUER_ID }}
    apple-key-content: ${{ secrets.APPLE_KEY_CONTENT }}
    team-id: ${{ secrets.TEAM_ID }}
    team-name: ${{ secrets.TEAM_NAME }}
    match-password: ${{ secrets.MATCH_PASSWORD }}
    match-git-url: ${{ secrets.MATCH_GIT_URL }}
    match-git-basic-authorization: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
    match-build-type: "appstore"
    browserstack-upload: true
    browserstack-username: ${{ secrets.BROWSERSTACK_USERNAME }}
    browserstack-access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
    fastlane-env: stage
    ios-app-id: com.identifier.my_app

ios-build-action's People

Contributors

yukiarrr avatar edodusi avatar sl3dge78 avatar dependabot[bot] avatar abarnto avatar misaert avatar paolomainardi avatar rhydiant avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.