<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jacob</title>
    <description>The latest articles on DEV Community by Jacob (@bayswaterpc).</description>
    <link>https://dev.to/bayswaterpc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F751503%2F790d479b-b8d4-4fbf-b02a-6c89e9c17b22.jpg</url>
      <title>DEV Community: Jacob</title>
      <link>https://dev.to/bayswaterpc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bayswaterpc"/>
    <language>en</language>
    <item>
      <title>Setting Up CI CD for Tauri in a Monorepo</title>
      <dc:creator>Jacob</dc:creator>
      <pubDate>Sun, 30 Jan 2022 22:17:48 +0000</pubDate>
      <link>https://dev.to/bayswaterpc/setting-up-ci-cd-for-tauri-in-a-monorepo-1fa3</link>
      <guid>https://dev.to/bayswaterpc/setting-up-ci-cd-for-tauri-in-a-monorepo-1fa3</guid>
      <description>&lt;p&gt;Building off of Tauri's post &lt;a href="https://dev.to/tauri/setting-up-ci-and-cd-for-tauri-48pp"&gt;here&lt;/a&gt; I wanted a concrete example of a CI CD pipeline in action within a monorepo.  So I used Tauri's the &lt;a href="https://github.com/tauri-apps/tauri-action"&gt;github actions&lt;/a&gt; Tauri provided and made some adjustments for pointing to the correct project folder.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tauri.studio/"&gt;tauri&lt;/a&gt; and their excellent CI CD actions &lt;br&gt;
publish&lt;/p&gt;

&lt;p&gt;testing on push&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: "test-on-push"
on: [push]

jobs:
  test-tauri:
    strategy:
      fail-fast: false
      matrix:
        platform: [macos-latest, ubuntu-latest, windows-latest]
    env:
      working-directory: ./tauri-app

    runs-on: ${{ matrix.platform }}
    steps:
      - uses: actions/checkout@v2
      - name: setup node
        uses: actions/setup-node@v1
        with:
          node-version: 16
      - name: install Rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
      - name: install webkit2gtk (ubuntu only)
        if: matrix.platform == 'ubuntu-latest'
        run: |
          sudo apt-get update
          sudo apt-get install -y webkit2gtk-4.0
      - name: install app dependencies and build it
        run: yarn &amp;amp;&amp;amp; yarn build
        working-directory: ${{env.working-directory}}
      - uses: tauri-apps/tauri-action@v0
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          projectPath: ${{env.working-directory}}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;publishing on release branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: "publish"
on:
  push:
    branches:
      - release

jobs:
  publish-tauri:
    strategy:
      fail-fast: false
      matrix:
        platform: [macos-latest, ubuntu-latest, windows-latest]
    env:
      working-directory: ./tauri-app

    runs-on: ${{ matrix.platform }}
    steps:
      - uses: actions/checkout@v2
      - name: setup node
        uses: actions/setup-node@v1
        with:
          node-version: 16
      - name: install Rust stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
      - name: install webkit2gtk (ubuntu only)
        if: matrix.platform == 'ubuntu-latest'
        run: |
          sudo apt-get update
          sudo apt-get install -y webkit2gtk-4.0
      - name: install app dependencies and build it
        run: yarn &amp;amp;&amp;amp; yarn build
        working-directory: ${{env.working-directory}}
      - 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
          projectPath: ${{env.working-directory}}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To full see the full app I set up a &lt;a href="https://github.com/bayswaterpc/monorepo-with-tauri-client"&gt;repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'm hoping to build an app with a desktop client, server, and website with online and offline capabilities.&lt;/p&gt;

&lt;p&gt;If there's any one out there whose built similar tools would love to get your thoughts on Monorepo vs Multi-repo approaches.&lt;/p&gt;

</description>
      <category>tauri</category>
      <category>ci</category>
      <category>cd</category>
      <category>github</category>
    </item>
  </channel>
</rss>
