tauri-apps / tauri-action

Build your Web application as a Tauri binary for macOS, Linux and Windows
https://tauri.app
MIT License
778 stars 134 forks source link

Error failed to bundle project: Failed to build data folders and files #802

Open TheBlindM opened 1 month ago

TheBlindM commented 1 month ago

action_yaml:

name: "publish"

on:
  push:

    tags:
      - 'v*' 

# This is the example from the readme.
# 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

      - name: setup node
        uses: actions/setup-node@v4
        with:
          node-version: lts/*

      - 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.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
        # webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2.
        # You can remove the one that doesn't apply to your app to speed up the workflow a bit.

      - name: install frontend dependencies
        run: yarn 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 }}
          TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
          TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}

        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 }}

tauri.conf.json

{
  "$schema": "../node_modules/@tauri-apps/cli/schema.json",
  "build": {
    "beforeBuildCommand": "npm run build",
    "beforeDevCommand": "npm run dev",
    "devPath": "http://localhost:3201",
    "distDir": "../dist"
  },
  "package": {
    "productName": "T-Shell",
    "version": "1.0.0"
  },
  "tauri": {
    "allowlist": {
      "all": false,
      "shell": {
        "all": true,
        "open": true
      },
      "dialog": {
        "open": true
      },
      "clipboard": {
        "all": true,
        "writeText": true,
        "readText": true
      },
      "fs": {
        "all": true
      },
      "window": {
        "all": true
      }
    },
    "bundle": {
      "active": true,
      "category": "DeveloperTool",
      "copyright": "",
      "deb": {
        "depends": []
      },
      "externalBin": [],
      "icon": [
                "icons/shell32x32.png",
                "icons/shell128x128.png",
                "icons/shell-icon.icns",
                "icons/shell-icon.ico"
      ],
      "identifier": "com.theBlind.tShell-Plus",
      "longDescription": "T-Shell-Plus",
      "macOS": {
        "entitlements": null,
        "exceptionDomain": "",
        "frameworks": [],
        "providerShortName": null,
        "signingIdentity": null
      },
      "resources": [
        "./script"
      ],
      "shortDescription": "",
      "targets": "all",
      "windows": {
        "certificateThumbprint": null,
        "digestAlgorithm": "sha256",
        "timestampUrl": ""
      }
    },
    "security": {
      "csp": null
    },
        "updater": {
            "active": true,
            "endpoints": [
                "........................"
            ],
            "dialog": false,
            "pubkey": "......................."
        },
    "windows": [
      {
        "fullscreen": false,
        "height": 700,
        "resizable": true,
        "title": "T-Shell",
        "width": 1200,
        "minWidth": 1000,
        "minHeight": 700,
        "decorations": false,
        "transparent": true,
        "center": true
      }
    ]
  }
}

err_msg:

warning: `app` (bin "app") generated 4 warnings (run `cargo fix --bin "app"` to apply 3 suggestions)
    Finished `release` profile [optimized] target(s) in 13m 03s
    Bundling t-shell_1.0.0_amd64.deb (/home/runner/work/t-shell-plus-r/t-shell-plus-r/src-tauri/target/release/bundle/deb/t-shell_1.0.0_amd64.deb)
       Error failed to bundle project: Failed to build data folders and files
error Command failed with exit code 1.

Not enabling the updater is normal

FabianLars commented 1 month ago

Same thing as in the other issue, please rerun it with the verbose flag and post the new logs :)

TheBlindM commented 1 month ago

Same thing as in the other issue, please rerun it with the verbose flag and post the new logs :) Adding it doesn't make much difference

warning: `app` (bin "app") generated 4 warnings (run `cargo fix --bin "app"` to apply 3 suggestions)
Finished `release` profile [optimized] target(s) in 13m 22s
Bundling [tauri_bundler::bundle::linux::debian] t-shell_1.0.0_amd64.deb (/home/runner/work/t-shell-plus-r/t-shell-plus-r/src-tauri/target/release/bundle/deb/t-shell_1.0.0_amd64.deb)
Error [tauri_cli_node] failed to bundle project: Failed to build data folders and files
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error: Command failed with exit code 1: yarn tauri build -v
FabianLars commented 1 month ago

Hmm, that's unfortunate. I won't have access to my computer for a few days so can't really triage this myself but the 3 things i'd try are: 1) remove productName 2) make bundle.identifier lowercase only 3) add a 512x512 icon.png file to the icon array