/tizen-build-action

GitHub Action to automate Tizen Apps, including signing.

Primary LanguageShellMIT LicenseMIT

Tizen Build GitHub Action

Build and package a Tizen app.

It currently only works for Web applications (.wgt). If you want native app support, please upstream a fix :)

Usage

Inputs

Following inputs can be used as step.with keys

Name Required Default Type Description
project-dir Yes String Absolute path to your Tizen project.
author-key Yes String Author key used for signing. Base64-encoded.
author-password Yes String Password for author-key
distributor-cert Yes Tizen distributor cert String Distributor certificate used for signing. Base64-encoded.

You can encode your certificates and keys in base64 via:

openssl base64 -in {INPUT_FILE}

Then you can store them in GitHub Secrets to securely pass to the action.

Tip

We've discovered a hidden requirement on generated passwords which isn't consistent. We've found luck with a password strictly 27 alpha characters long. If you're having trouble, try that.

Outputs

Name Description
package-artifact Absolute path to the package.

Example usage

- name: Build Tizen app
  id: tizen-build-action
  uses: sourcetoad/tizen-build-action@v1.0.0
  with:
    project-dir: ${{ github.workspace }}/TizenApp
    author-key: ${{ secrets.TIZEN_AUTHOR_KEY }}
    author-password: ${{ secrets.TIZEN_AUTHOR_KEY_PW }}

- name: Upload Tizen package artifact
  uses: actions/upload-artifact@v2
  with:
     name: app-${{ github.sha }}.wgt
     path: ${{ steps.tizen-build-action.outputs.package-artifact }}

Cache Tizen Studio installer file

It's recommended to cache the Tizen Studio installer so it doesn't have to be downloaded over the internet on every run. To do so, invoke the cache action before the build. The important part is the path.

- name: Cache Tizen Studio installer
  uses: actions/cache@v2
  with:
    path: ${{ github.workspace }}/tizen-studio_*.bin
    key: tizen-studio-installer

Install as Local Action

For quicker troubleshooting cycles, the action can be copied directly into another project. This way, changes to the action and its usage can happen simultaneously, in a single commit.

  1. Copy this repository into your other project as .github/actions/tizen-build-action. Be careful: simply cloning in place will likely install it as a submodule—make sure to copy the files without .git unless you know what you're doing.
  2. In your other project's workflow, in the action step, set
    uses: ./.github/actions/tizen-build-action