Skip to content

Commit

Permalink
release 0.2.2 (#127)
Browse files Browse the repository at this point in the history
* Create rust-clippy.yml

* Remove double builds when creating release packages

* Refactor CI workflow: Simplify test and publish jobs

- Removed the matrix strategy from the test-tauri job which included multiple platforms.
- Consolidated steps in the publish-tauri job to improve clarity and maintainability.
- Introduced Rust caching using Swatinem/rust-cache@v2 for faster builds.
- Ensured dependencies are installed consistently across jobs with less redundancy.

* Improve rust-clippy workflow configuration

- Updated cron schedule syntax for consistency
- Cleaned up run command formatting for better readability
- Added working-directory specification for SARIF processing

* Refactor GitHub Actions workflow for Rust Clippy

- Moved the installation of required cargo dependencies (clippy-sarif, sarif-fmt) to the src-tauri directory for better organization.
- Updated the path for the SARIF file upload to ensure it points to the correct location within the src-tauri directory.
- Removed redundant installation steps in the workflow.

* Improved installation instructions in README.md (#114)

- Restructured the installation section for clarity.
- Added a sequential list of steps for downloading/building the Cuuri binary.
- Clarified the process for registering the OpenAI API key.

* Update README.md to include npm install step and change repository directory (#115)

* build(deps): bump chrono from 0.4.38 to 0.4.39 in /src-tauri (#116)

Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.38 to 0.4.39.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](chronotope/chrono@v0.4.38...v0.4.39)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @vue/devtools from 7.6.7 to 7.6.8 (#120)

Bumps [@vue/devtools](https://github.com/vuejs/devtools/tree/HEAD/packages/devtools) from 7.6.7 to 7.6.8.
- [Release notes](https://github.com/vuejs/devtools/releases)
- [Commits](https://github.com/vuejs/devtools/commits/v7.6.8/packages/devtools)

---
updated-dependencies:
- dependency-name: "@vue/devtools"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump marked from 15.0.3 to 15.0.4 (#119)

Bumps [marked](https://github.com/markedjs/marked) from 15.0.3 to 15.0.4.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](markedjs/marked@v15.0.3...v15.0.4)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump tauri-plugin-shell from 2.0.2 to 2.2.0 in /src-tauri (#122)

Bumps [tauri-plugin-shell](https://github.com/tauri-apps/plugins-workspace) from 2.0.2 to 2.2.0.
- [Release notes](https://github.com/tauri-apps/plugins-workspace/releases)
- [Commits](tauri-apps/plugins-workspace@fs-v2.0.2...os-v2.2.0)

---
updated-dependencies:
- dependency-name: tauri-plugin-shell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump vite from 6.0.2 to 6.0.3 (#117)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump serde from 1.0.215 to 1.0.216 in /src-tauri (#121)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.215 to 1.0.216.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.215...v1.0.216)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @tauri-apps/plugin-shell from 2.0.1 to 2.2.0 (#118)

Bumps [@tauri-apps/plugin-shell](https://github.com/tauri-apps/plugins-workspace) from 2.0.1 to 2.2.0.
- [Release notes](https://github.com/tauri-apps/plugins-workspace/releases)
- [Commits](tauri-apps/plugins-workspace@os-v2.0.1...os-v2.2.0)

---
updated-dependencies:
- dependency-name: "@tauri-apps/plugin-shell"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump nanoid in the npm_and_yarn group (#123)

Bumps the npm_and_yarn group with 1 update: [nanoid](https://github.com/ai/nanoid).


Updates `nanoid` from 3.3.7 to 3.3.8
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](ai/nanoid@3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bug/112  cant input openai api key on gui (#124)

* Improved installation instructions in README.md

- Restructured the installation section for clarity.
- Added a sequential list of steps for downloading/building the Cuuri binary.
- Clarified the process for registering the OpenAI API key.

* feat: Implement router-based navigation and settings management

- Added vue-router for managing application routes.
- Removed the API key dialog component; API key management is now done from the Settings view.
- Created HomeView and SettingsView components to handle chat functionalities and API key input.
- Updated App.vue to utilize <RouterView> for dynamic routing.
- Enhanced the set_openai_api_key function to return an error if the API key is empty.
- Updated documentation in README.md to reflect changes in API key registration and installation instructions.
- Added dev dependencies for vue-router.

* Fix: Adjust button layout in SettingsView

- Changed the alignment of the "Save API Key" button to be right-aligned and added margin.
- Improved button layout for better user experience.

* feat: Introduce Diesel Migrations and Refactor Database Connection (#111)

- Added `diesel_migrations` dependency to manage database migrations.
- Created initial migration for `chat_histories` table to track chat records.
- Refactored database connection handling:
  - Removed `Database` struct and associated connection pooling code.
  - Introduced `establish_connection` function for direct database connections.
  - Replaced all calls to the old connection method with the new approach.
- Enhanced SQL queries to operate on the new `chat_histories` table.
- Implemented a configuration file initializer for storing API keys and settings.
- Streamlined code for managing database path and creation of necessary directories.
- Added migration management to the application startup process.

* Bump version from 0.2.1 to 0.2.2 (#126)

- Updated version number in package.json, package-lock.json, Cargo.toml, Cargo.lock, and tauri.conf.json from 0.2.1 to 0.2.2.
- Includes updates to dependencies in the project.

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Loading branch information
takanotume24 and dependabot[bot] authored Dec 17, 2024
1 parent ac77b37 commit aa75743
Show file tree
Hide file tree
Showing 32 changed files with 705 additions and 792 deletions.
55 changes: 3 additions & 52 deletions .github/workflows/publish-to-auto-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,55 +6,7 @@ on:
- master

jobs:
test-tauri:
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-file: ".nvmrc"

- 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: npm install # change this to npm, pnpm or bun depending on which one you use.

# If tagName and releaseId are omitted tauri-action will only build the app and won't try to upload any assets.
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: ${{ matrix.args }}

publish-tauri:
needs: test-tauri
permissions:
contents: write
strategy:
Expand Down Expand Up @@ -94,11 +46,10 @@ jobs:
- name: install frontend dependencies
run: npm 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 }}
- uses: Swatinem/rust-cache@v2
with:
args: ${{ matrix.args }}
workspaces: "src-tauri"
key: ${{ matrix.platform }}-${{ matrix.args }}

- uses: tauri-apps/tauri-action@v0
env:
Expand Down
62 changes: 62 additions & 0 deletions .github/workflows/rust-clippy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# rust-clippy is a tool that runs a bunch of lints to catch common
# mistakes in your Rust code and help improve your Rust code.
# More details at https://github.com/rust-lang/rust-clippy
# and https://rust-lang.github.io/rust-clippy/

name: rust-clippy analyze

on:
push:
pull_request:
schedule:
- cron: "18 22 * * 2"

jobs:
rust-clippy-analyze:
name: Run rust-clippy analyzing
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af #@v1
with:
profile: minimal
toolchain: stable
components: clippy
override: true

- name: install dependencies (ubuntu only)
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- uses: Swatinem/rust-cache@v2
with:
workspaces: "src-tauri"

- name: Install required cargo
run: cargo install clippy-sarif sarif-fmt
working-directory: src-tauri

- name: Run rust-clippy
run: cargo clippy
--all-features
--message-format=json | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt
continue-on-error: true
working-directory: src-tauri

- name: Upload analysis results to GitHub
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: src-tauri/rust-clippy-results.sarif
wait-for-processing: true
30 changes: 22 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,43 @@ Cuuri is a GUI client for ChatGPT built with Tauri, Vue, and TypeScript.

### Installation

- macOS
- Unfortunately, you need to build from source. It seems that I need to sign the binaries to make them executable on macOS. I plan to address this in the future.
- Windows
- Download and run `Cuuri_[version]_x64-setup.exe` from <https://github.com/takanotume24/Cuuri/releases>.
- Linux
- Download your preferred executable format from <https://github.com/takanotume24/Cuuri/releases>.
1. Download or build the Cuuri binary.
- macOS
- Unfortunately, you need to build from source. It seems that I need to sign the binaries to make them executable on macOS. I plan to address this in the future.
- Windows
- Download and run `Cuuri_[version]_x64-setup.exe` from <https://github.com/takanotume24/Cuuri/releases>.
- Linux
- Download your preferred executable format from <https://github.com/takanotume24/Cuuri/releases>.
2. Launch Cuuri.

### Build Instructions

1. Install the necessary dependencies by following the guide at <https://v2.tauri.app/start/prerequisites/>.
1. Clone this repository.
```

```bash
$ https://github.com/takanotume24/Cuuri.git
$ cd Cuuri
```
1. Build the project.

1. Install npm dependencies.

```bash
$ npm install
```

1. Build the project.

```bash
$ npm run tauri build
```

1. Run the built binary to install.
- macOS: `src-tauri/target/release/bundle/dmg`
- Windows: `src-tauri/target/release/`

### Customize

All Cuuri data is saved under `$HOME/.cuuri`. Typically, the following files are generated automatically, so there's no need to edit them manually.
- `$HOME/.cuuri/chat.db`: The chat history is saved here.
Expand Down
Loading

0 comments on commit aa75743

Please sign in to comment.