Taurify
The following workflow is specifically tailored to Taurify applications.
Versionining
The release version number is automatically extracted from Taurify configuration file (taurify.json
).
Workflow Triggers
For testing and developing purposes it may be useful to set a workflow_dispatch
trigger, so the workflow can be initiated from the GitHub UI.
run-name: triggered by ${{ github.actor }}.on: workflow_dispatch
Once testing is done, it’s recommended to use Continuous Deployment.
on: push: branches: - main
Action Environment
The actual packaging of your application is done on the Taurify servers, so you can use the ubuntu-latest
GitHub Actions runner.
When deploying you might desire to cancel ongoing processes when a new workflow starts.
concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true
Jobs
The following section snippets must be added in the jobs
map.
jobs: <job-name>: <job-snippet>
Note that the indentation is important.
Trigger Release
To trigger a new release, you must set up the Taurify secrets and run taurify build
.
Fore more information on how to set up secrets such as your Taurify signing keypair, CrabNebula Cloud API key and application signing keys, see the Taurify distribution guide.
build: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4
- name: install dependencies run: npm install
- name: trigger release env: CN_API_KEY: ${{ secrets.CN_API_KEY }} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} PRIVATE_KEY_PASSWORD: ${{ secrets.PRIVATE_KEY_PASSWORD }} run: npm exec taurify build
build: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4
- name: Install pnpm uses: pnpm/action-setup@v3 with: version: 9 - uses: actions/setup-node@v4
- name: install dependencies run: pnpm install
- name: trigger release env: CN_API_KEY: ${{ secrets.CN_API_KEY }} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} PRIVATE_KEY_PASSWORD: ${{ secrets.PRIVATE_KEY_PASSWORD }} run: pnpm taurify build
build: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4
- name: install dependencies run: yarn install
- name: trigger release env: CN_API_KEY: ${{ secrets.CN_API_KEY }} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} PRIVATE_KEY_PASSWORD: ${{ secrets.PRIVATE_KEY_PASSWORD }} run: yarn taurify build
When this job is completed, your Taurify release is available on the CrabNebula Cloud platform.
Full Workflow
name: Taurify Release Process
on: push: branches: - main
concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true
jobs: build: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4
- name: install dependencies run: npm install
- name: trigger release env: CN_API_KEY: ${{ secrets.CN_API_KEY }} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} PRIVATE_KEY_PASSWORD: ${{ secrets.PRIVATE_KEY_PASSWORD }} run: npm exec taurify build
name: Taurify Release Process
on: push: branches: - main
concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true
jobs: build: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4
- name: Install pnpm uses: pnpm/action-setup@v3 with: version: 9 - uses: actions/setup-node@v4
- name: install dependencies run: pnpm install
- name: trigger release env: CN_API_KEY: ${{ secrets.CN_API_KEY }} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} PRIVATE_KEY_PASSWORD: ${{ secrets.PRIVATE_KEY_PASSWORD }} run: pnpm taurify build
name: Taurify Release Process
on: push: branches: - main
concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true
jobs: build: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4
- name: install dependencies run: yarn install
- name: trigger release env: CN_API_KEY: ${{ secrets.CN_API_KEY }} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} PRIVATE_KEY_PASSWORD: ${{ secrets.PRIVATE_KEY_PASSWORD }} run: yarn taurify build