The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
Go to file
Nikita Galaiko 88f8d95be4
Merge pull request #1300 from gitbutlerapp/dependabot/cargo/rustix-0.38.13
chore(deps): bump rustix from 0.38.11 to 0.38.13
2023-10-11 09:55:14 +02:00
.cargo new structure 2023-09-06 11:47:35 +02:00
.github feat: add support for APPLE_TEAM_ID environment variable in signing process 2023-10-09 09:06:28 +02:00
.vscode recommend vitest vscode plugin 2023-07-16 22:05:54 +02:00
packages Merge pull request #1305 from gitbutlerapp/dependabot/cargo/sha1-0.10.6 2023-10-11 09:54:46 +02:00
scripts feat: add support for APPLE_TEAM_ID environment variable in signing process 2023-10-09 09:06:28 +02:00
.gitignore new structure 2023-09-06 11:47:35 +02:00
Cargo.lock Merge pull request #1300 from gitbutlerapp/dependabot/cargo/rustix-0.38.13 2023-10-11 09:55:14 +02:00
Cargo.toml chore: enable debug symbols for sentry 2023-09-29 08:56:34 +02:00
package.json chore: update versions of @tauri-apps/cli and related packages to 1.5.1 2023-10-05 10:31:51 +02:00
pnpm-lock.yaml chore(deps-dev): bump svelte from 4.2.0 to 4.2.1 2023-10-05 11:58:46 +02:00
pnpm-workspace.yaml new structure 2023-09-06 11:47:35 +02:00
README.md new structure 2023-09-06 11:47:35 +02:00

Development

Prerequisites

see here for the list of software required to build / develope the app.

Setup

Then, make sure to install app dependencies:

$ pnpm install

Run the app

Now you should be able to run the app in development mode:

$ pnpm tauri dev

By default it will not print debug logs to console. If you want debug logs, use debug feature:

$ pnpm tauri dev --features debug

Run Stories

Stories is our easy way to view our app components. Running the following command will launch in your default browser.

$ pnpm story:dev

Lint & format

Javascript:

$ pnpm lint
$ pnpm format

Rust:

$ cargo clippy   # see linting errors
$ cargo fmt      # format code

Debug

Logs

App writes logs into:

  1. stdout in development mode
  2. Logs directory

Tokio

We are also collecting tokio's runtime tracing information that could be viewed using tokio-console:

  • developlent:
    $ tokio-console
    
  • nightly:
    $ tokio-console http://127.0.0.1:6668
    
  • production:
    $ tokio-console http://127.0.0.1:6667
    

Build

To build the app in production mode, run:

$ pnpm tauri build --features devtools --config packages/tauri/tauri.conf.nightly.json

This will make an asset similar to our nightly build.

Icon generation

$ pnpm tauri icon path/to/icon.png

Release

Building is done via GitHub Action. Go to the link and select Run workflow from the desired branch.

Versioning

When running the release action, you will have to choose one of major, minor, or patch release type. Action will generate a new version based on your input and current version found at https://app.gitbutler.com/releases.

Publishing

To publish a version that you've just build, use Release Manager.