diff --git a/.github/workflows/changeset.yml b/.github/workflows/changeset.yml index f008ea6..3ed9d13 100644 --- a/.github/workflows/changeset.yml +++ b/.github/workflows/changeset.yml @@ -19,7 +19,12 @@ jobs: with: # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits fetch-depth: 0 - - uses: pnpm/action-setup@v2.2.4 + + - name: Pnpm setup + uses: pnpm/action-setup@v2 + with: + version: 8.10 + - name: Setup Node.js uses: actions/setup-node@v3 with: @@ -28,7 +33,8 @@ jobs: - name: Install run: pnpm install --frozen-lockfile - - name: Install + + - name: Build frontend run: pnpm svelte:build - name: Install dependencies @@ -36,7 +42,13 @@ jobs: sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf - - uses: rui314/setup-mold@v1 + - name: Setup mold linker + uses: rui314/setup-mold@v1 + + - name: Setup cargo cache + uses: Swatinem/rust-cache@v2 + with: + workspaces: './src-tauri/ -> target' - name: Create Release Pull Request id: changesets diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml index 57bd827..028c872 100644 --- a/.github/workflows/clippy.yml +++ b/.github/workflows/clippy.yml @@ -11,37 +11,24 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Install Node.js 20 + + - name: Pnpm setup + uses: pnpm/action-setup@v2 + with: + version: 8.10 + + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 20 - - - uses: pnpm/action-setup@v2 - name: Install pnpm - id: pnpm-install - with: - version: 8.10.0 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + cache: pnpm - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build frontend run: pnpm svelte:build + - uses: rui314/setup-mold@v1 with: make-default: false @@ -49,7 +36,10 @@ jobs: - name: Install Rust stable uses: dtolnay/rust-toolchain@stable - - uses: Swatinem/rust-cache@v2 + - name: Setup cargo cache + uses: Swatinem/rust-cache@v2 + with: + workspaces: './src-tauri/ -> target' - name: install dependencies (ubuntu only) run: | diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fb64a27..13587cb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,36 +26,20 @@ jobs: with: version: 8.10 - - name: Use Node.js 20 + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 20 + cache: pnpm - - uses: pnpm/action-setup@v2 - name: Install pnpm - id: pnpm-install - with: - version: 8.10.0 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Build frontend + run: pnpm svelte:build - name: Install dependencies run: pnpm install --frozen-lockfile - uses: rui314/setup-mold@v1 + if: matrix.platform == 'ubuntu-20.04' with: make-default: false @@ -63,6 +47,8 @@ jobs: uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 + with: + workspaces: './src-tauri/ -> target' - name: install dependencies (ubuntu only) if: matrix.platform == 'ubuntu-20.04' @@ -70,9 +56,6 @@ jobs: sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf - - name: Build frontend - run: pnpm svelte:build - - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b820791..1c3dd9a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,31 +17,16 @@ jobs: with: fetch-depth: 0 - - name: Install Node.js 20 + - name: Pnpm setup + uses: pnpm/action-setup@v2 + with: + version: 8.10 + + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 20 - - - uses: pnpm/action-setup@v2 - name: Install pnpm - id: pnpm-install - with: - version: 8.10.0 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + cache: pnpm - name: Install dependencies run: pnpm install --frozen-lockfile @@ -50,6 +35,7 @@ jobs: run: pnpm svelte:build - uses: rui314/setup-mold@v1 + if: matrix.platform == 'ubuntu-22.04' with: make-default: false @@ -57,6 +43,8 @@ jobs: uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 + with: + workspaces: './src-tauri/ -> target' - name: install dependencies (ubuntu only) if: matrix.platform == 'ubuntu-22.04' @@ -64,7 +52,8 @@ jobs: sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf - - uses: tauri-apps/tauri-action@v0 + - name: Build and test + uses: tauri-apps/tauri-action@v0 env: TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 7a0ff56..8fed533 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -3466,7 +3466,7 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "svelte-tauri" -version = "0.2.0" +version = "0.2.1" dependencies = [ "serde", "serde_json",