Skip to content

Commit

Permalink
Added Github Workflow to create a release when merged into release br…
Browse files Browse the repository at this point in the history
…anch
  • Loading branch information
seferino-fernandez committed Jul 13, 2024
1 parent 018fc9c commit 81f1cf5
Show file tree
Hide file tree
Showing 3 changed files with 138 additions and 2 deletions.
67 changes: 67 additions & 0 deletions .github/workflows/publish-to-auto-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: publish

on:
push:
branches:
- release

# On each push to the `release` branch it will create or update a GitHub release, build your app, and upload the artifacts to the release.

jobs:
publish-tauri:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
include:
- platform: macos-latest # for Arm based macs (M1 and above).
args: --target aarch64-apple-darwin
- platform: macos-latest # for Intel based macs.
args: --target x86_64-apple-darwin
- platform: ubuntu-22.04 # for Tauri v1 you could replace this with ubuntu-20.04.
args: ''
- platform: windows-latest
args: ''

runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 9
run_install: false

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: pnpm

- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}

- name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above.
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install frontend dependencies
run: pnpm install # change this to npm, pnpm or bun depending on which one you use.

- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: app-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version.
releaseName: App v__VERSION__
releaseBody: See the assets to download this version and install.
releaseDraft: true
prerelease: false
args: ${{ matrix.args }}
57 changes: 57 additions & 0 deletions .github/workflows/test-build-only.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: test-on-pr

on: [pull_request]

# This workflow will build your tauri app without uploading it anywhere.

jobs:
test-tauri:
strategy:
fail-fast: false
matrix:
include:
- platform: macos-latest # for Arm based macs (M1 and above).
args: --target aarch64-apple-darwin
- platform: macos-latest # for Intel based macs.
args: --target x86_64-apple-darwin
- platform: ubuntu-22.04 # for Tauri v1 you could replace this with ubuntu-20.04.
args: ''
- platform: windows-latest
args: ''

runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 9
run_install: false

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: pnpm

- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}

- name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above.
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install frontend dependencies
run: pnpm install

# If tagName and releaseId are omitted tauri-action will only build the app and won't try to upload any assets.
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
args: ${{ matrix.args }}
16 changes: 14 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,17 @@ Follow [Tauri's prerequisites guide](https://v2.tauri.app/start/prerequisites/)

Then rename all instances of `tauriv2-vue-desktop-starter` and `tauriv2_vue_desktop_starter` to your app name.

If you want to replace the package manager update the build configuration in [tauri.conf.json](./src-tauri/tauri.conf.json)
If you want to replace the package manager update:

- The build configuration in [tauri.conf.json](./src-tauri/tauri.conf.json)
- Update the following steps in [.github/workflows/publish-to-auto-release.yml](.github/workflows/publish-to-auto-release.yml):
- Install pnpm
- Install Node.js
- Install frontend dependencies
- Update the following steps in [.github/workflows/test-build-only.yml](.github/workflows/test-build-only.yml):
- Install pnpm
- Install Node.js
- Install frontend dependencies

## Installation

Expand All @@ -49,7 +59,7 @@ Tauri Store Plugin stores `settings.json` at:

**macOS**: `~/Library/Application Support/com.github.tauriv2-vue-desktop-starter`

## Deployment
## Deployment & Release

[Tauri v1 Deployment Guide](https://tauri.app/v1/guides/distribution/publishing)

Expand All @@ -58,3 +68,5 @@ To build a binary, run:
```bash
pnpm tauri build
```

This repo is currently setup to create a release on Github when you merge to the `release` branch. See [https://github.com/tauri-apps/tauri-action/tree/dev](https://github.com/tauri-apps/tauri-action/tree/dev)

0 comments on commit 81f1cf5

Please sign in to comment.