diff --git a/.github/workflows/tauri.yml b/.github/workflows/tauri.yml new file mode 100644 index 00000000..51069b2f --- /dev/null +++ b/.github/workflows/tauri.yml @@ -0,0 +1,66 @@ +name: Tauri Builder +on: + push: + tags: + - "v*" + workflow_dispatch: + +jobs: + release: + strategy: + fail-fast: false + matrix: + platform: [macos-latest, ubuntu-latest, windows-latest] + include: + - os: ubuntu-latest + rust_target: x86_64-unknown-linux-gnu + - os: macos-latest + rust_target: x86_64-apple-darwin + - os: macos-latest + rust_target: aarch64-apple-darwin + - os: windows-latest + rust_target: x86_64-pc-windows-msvc + runs-on: ${{ matrix.platform }} + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: 8.6.2 + run_install: | + - recursive: true + args: [--frozen-lockfile, --global] + + - name: Node.js setup + uses: actions/setup-node@v3 + with: + node-version: latest + # node-version-file: '.nvmrc' + + - name: Install Rust (Stable) + run: + curl https://sh.rustup.rs -sSf | sh -s -- -y + + - name: Install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf + + - name: Install app dependencies from lockfile and build web + run: pnpm i + + - name: Build the app + uses: tauri-apps/tauri-action@v0 + + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + # tauri-action replaces \_\_VERSION\_\_ with the app version + tagName: ${{ github.ref_name }} + releaseName: "Strudel v__VERSION__" + releaseBody: | + ${{steps.build_changelog.outputs.changelog}} + See the assets to download this version and install. + releaseDraft: true + prerelease: false