Git Product home page Git Product logo

xcode-deploy's Introduction

XCode-Deploy 1.5

This action will archive, export, and upload your project or workspace to App Store Connect (TestFlight). It is designed to run on a containerized VM, such as a GitHub Hosted Runner. If self-hosting, some of these steps may be unnecessary or redundant.

Inputs

xcode-version

The version of XCode to use, in SemVer. Default is latest stable release: xcode-latest. See also setup-xcode.

configuration

The configuration to archive. Default is Release. See also xcodebuild's -configuration.

scheme

The scheme to archive. If left blank, the action will search the project or workspace file for a default scheme. See also xcodebuild's -scheme.

path-to-export-options

The path to the ExportOptions.plist file, required for -exportArchive. Will default to ExportOptions.plist in the ${{ github.workspace }} directory. See also xcodebuild's -exportArchive.

update-build

A boolean value that will set the version-number to the commit depth. If false, nothing happens. See also agvtool's -new-version.

install-pods

A boolean value that will run pod install if true. If false, nothing happens.

resolve-package-dependencies

A boolean value that will run xcodebuild -resolvePackageDependencies -clonedSourcePackagesDirPath . if true. If false, nothing happens.

distribution-certificate-p12

The base64 representation of your Apple/iOS Distribution Certificate and private key pair.

distribution-certificate-password

The password to unlock the Distribution Certificate and private key pair.

app-store-provisioning-profile

The base64 representation of your App Store Provisioning Profile.

auth-key-id

The ID of the Authentication Key provided by App Store Connect.

auth-key-issuer-id

The Issuer ID provided by App Store Connect.

auth-key-p8

The base64 representation of the private key provided by App Store Connect.

Additionally, an ExportOptions.plist file must be included in the repository at the location and filename that matches path-to-export-options. You can generate one of these by doing a local export in XCode and then copy it into your repository, or use /usr/libexec/PlistBuddy.

Sample Usage

- name: Deploy
  uses: vfrascello/[email protected]
  with:
    xcode-version: '14.0'
    configuration: 'Release'
    scheme: 'MyScheme'
    path-to-export-options: 'ExportOptions.plist'
    update-build: true
    install-pods: false
    resolve-package-dependencies: true
    distribution-certificate-p12: ${{ secrets.DISTRIBUTION_CERTIFICATE_P12 }}
    distribution-certificate-password: ${{ secrets.DISTRIBUTION_CERTIFICATE_PASSWORD }}
    app-store-provisioning-profile: ${{ secrets.APPSTORE_PROVISIONING_PROFILE}}
    auth-key-id: ${{ secrets.AUTH_KEY_ID }}
    auth-key-issuer-id: ${{ secrets.AUTH_KEY_ISSUER_ID }}
    auth-key-p8: ${{ secrets.AUTH_KEY_P8 }}

See action.yml for more details.

Contributions

This composite action was written by me, Vincent Frascello, but uses actions by other open-source contributors:

Maxim Lobanov

Oliver Jones

Florian Fried

Akio Jinsenji

Github Actions Team

License

Any contributions made under this project will be governed by the MIT License.

xcode-deploy's People

Contributors

vitaliicherepakhastuzo avatar serhiikovalenkostuzo avatar observableobject avatar

Stargazers

 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.