diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8bdc6b9..9a4bfc7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,34 +16,48 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + - name: setup node - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: - node-version: 16 + node-version: lts/* + cache: 'yarn' + - name: install Rust - uses: actions-rs/toolchain@v1 + uses: dtolnay/rust-toolchain@stable with: toolchain: nightly-2024-05-04 # 1.80.0-nightly (e82c861d7 2024-05-04) - target: wasm32-unknown-unknown - default: true + targets: wasm32-unknown-unknown,${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} + - name: install Tauri cli run: cargo install tauri-cli + - name: install Tailwind CSS run: npm i -g tailwindcss + - name: generate Tailwind CSS run: npx tailwindcss -i ./input.css -o ./style/output.css + - uses: jetli/trunk-action@v0.1.0 with: # Optional version of trunk to install(eg. 'v0.8.1', 'latest') version: "latest" + - name: install dependencies (ubuntu only) if: matrix.platform == 'ubuntu-22.04' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev + + - name: Rust cache + uses: swatinem/rust-cache@v2 + with: + workspaces: './src-tauri -> target' + - name: build in release mode run: cargo tauri build + - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Cargo.toml b/Cargo.toml index ab06342..e1fae2d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,14 +24,9 @@ async-stream = "0.3.5" icondata = "0.3.0" ahash = { version = "0.8.11", features = ["serde"] } leptos_toaster = { version = "0.1.6", features = ["builtin_toast"] } -proc-macro2 = "1.0.82" -quote = "1.0.36" -syn = { version = "2.0.64", features = ["full"] } chrono = "0.4.38" +proc-macros = { path = "./proc-macros" } [workspace] -members = ["src-tauri", "common"] - -[lib] -proc-macro = true +members = ["src-tauri", "common", "proc-macros"] diff --git a/proc-macros/Cargo.toml b/proc-macros/Cargo.toml new file mode 100644 index 0000000..812a0e5 --- /dev/null +++ b/proc-macros/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "proc-macros" +version = "0.1.0" +edition = "2021" + +[dependencies] +proc-macro2 = "1.0.86" +quote = "1.0.37" +syn = "2.0.77" + +[lib] +name = "rsql_proc_macros" +proc-macro = true diff --git a/src/lib.rs b/proc-macros/src/lib.rs similarity index 99% rename from src/lib.rs rename to proc-macros/src/lib.rs index a768656..c91b08b 100644 --- a/src/lib.rs +++ b/proc-macros/src/lib.rs @@ -76,4 +76,3 @@ pub fn into_iterator_derive(input: TokenStream) -> TokenStream { gen.into() } - diff --git a/src/databases/pgsql/driver.rs b/src/databases/pgsql/driver.rs index 2799260..da292c7 100644 --- a/src/databases/pgsql/driver.rs +++ b/src/databases/pgsql/driver.rs @@ -4,7 +4,7 @@ use common::{ types::pgsql::{PgsqlLoadSchemas, PgsqlLoadTables, PgsqlRunQuery}, }; use leptos::{error::Result, expect_context, RwSignal, SignalGet, SignalSet, SignalUpdate}; -use rsql::set_running_query; +use rsql_proc_macros::set_running_query; use tauri_sys::tauri::invoke; use crate::{ @@ -182,4 +182,3 @@ impl<'a> Pgsql<'a> { }); } } - diff --git a/src/store/atoms.rs b/src/store/atoms.rs index d30cdfe..07c5463 100644 --- a/src/store/atoms.rs +++ b/src/store/atoms.rs @@ -2,7 +2,7 @@ use std::collections::VecDeque; use common::enums::Drivers; use leptos::RwSignal; -use rsql::StructIntoIterator; +use rsql_proc_macros::StructIntoIterator; #[derive(Debug, Default, Clone)] pub struct QueryPerformanceAtom { @@ -59,4 +59,3 @@ impl Default for PgsqlConnectionDetailsAtom { } pub type PgsqlConnectionDetailsContext = RwSignal; - diff --git a/src/store/tabs.rs b/src/store/tabs.rs index 3d9717f..3e16916 100644 --- a/src/store/tabs.rs +++ b/src/store/tabs.rs @@ -3,7 +3,7 @@ use std::{cell::RefCell, rc::Rc}; use common::enums::ProjectConnectionStatus; use leptos::{create_rw_signal, expect_context, RwSignal, SignalGet, SignalSet, SignalUpdate}; use monaco::api::CodeEditor; -use rsql::set_running_query; +use rsql_proc_macros::set_running_query; use tauri_sys::tauri::invoke; use crate::{ @@ -242,4 +242,3 @@ impl TabsStore { None } } -